如何在禁用输入时避免显示bootstrap clockpicker?

时间:2016-11-28 10:32:11

标签: javascript jquery twitter-bootstrap clockpicker

我在页面中使用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 个答案:

答案 0 :(得分:0)

禁用输入时,还需要防止来自click的{​​{1}}事件冒泡。像这样:

span

之后,var inpDisabled; $('.clockpicker .input-group-addon').on('click', function (e) { if(inpDisabled){ e.stopPropagation(); } }); //... //somewhere in the code inpDisabled = true; 将无法听到来自嵌套.clockpicker的{​​{1}}个事件,并且不会显示选择器

这是一般解决方案,因此您需要在自定义项目中对其进行转换