Как избежать отображения часового механизма начальной загрузки, когда его вход отключен?

Я использую плагин clockpicker на странице, часы могут быть включены или отключены в конечном итоге без перезагрузки всей страницы. Поэтому, когда я загружаю страницу, я инициализирую только если она включена.

$(document).ready(function () {  
    configureClockPickers();
});

function configureClockPickers(){
    $('.clockpicker').each(function(){
        $(this).clockpicker({autoclose: true});
    }
}

если вход включен динамически (снова вызывая мою функцию configureClockPickers(), часы отображаются идеально.

Проблема появляется, когда входы отключены. Я не знаю, как перестать отображать часы при нажатии на значок часов (если щелкнуть отключенный вход, часы не отображаются).

Мои часы генерируются следующим образом:

<div id="clock" class="input-group clockpicker" data-placement="left" data-align="top">
    <form:input path="clock1" id="clock1" type="text" cssClass="form-control inputForm inputClock"/>    
    <span class="input-group-addon"><span class="glyphicon glyphicon-time"></span></span>
</div>

Любая идея?

Спасибо вам большое!

1 ответ

Когда вы отключаете входы, вы также должны предотвратить click событие от span, Что-то вроде этого:

var inpDisabled;

$('.clockpicker .input-group-addon').on('click', function (e) {
    if(inpDisabled){
        e.stopPropagation();
    }
});

//...
//somewhere in the code

inpDisabled = true;

После этого ваш .clockpicker не услышит click события из вложенных span и не покажет сборщик

Это общее решение, поэтому вам нужно преобразовать его в свой проект

Другие вопросы по тегам