根据这个问题:“当复选框被选中时 Twitter Bootstrap 3 崩溃 https://stackoverflow.com/questions/22480524/twitter-bootstrap-3-collapse-when-checkbox-checked“我尝试过这个解决方案,因为它简单干净。
http://jsfiddle.net/L0h3s7uf/1/ http://jsfiddle.net/L0h3s7uf/1/
<div class="panel-group driving-license-settings" id="accordion">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<div class="checkbox">
<label data-toggle="collapse" data-target="#collapseOne">
<input type="checkbox"/> I have Driver License
</label>
</div>
</h4>
</div>
<div id="collapseOne" class="panel-collapse collapse in">
<div class="panel-body">
<div class="driving-license-kind">
<div class="checkbox">
<input type="checkbox" value="">A</div>
<div class="checkbox">
<input type="checkbox" value="">B</div>
<div class="checkbox">
<input type="checkbox" value="">C</div>
<div class="checkbox">
<input type="checkbox" value="">D</div>
<div class="checkbox">
<input type="checkbox" value="">E</div>
</div>
</div>
</div>
</div>
</div>
但有了这个“解决方案”,你就会遇到问题。如果您单击复选框的速度太快,该区域会折叠,但复选框会被选中。
我怎样才能防止这个双击问题?
我在用:
由于引导程序中没有专门用于切换的双击处理,因此我想出了一个特殊的解决方法来使双击同步。
我刚刚删除了data-toggle="collapse"
属性,已添加#testCheckBox
id到复选框的父级div
我做了一些自定义脚本来检测双击还是单击,然后验证复选框值并在其基础上进行切换:
$('.collapse').collapse();
$("#testCheckBox :checkbox").bind('click dblclick', function(evt) {
console.log(evt.type);
if ($(this).is(":checked")) {
$('.collapse').slideDown('fast');
} else {
$('.collapse').slideUp('fast');
}
})
demo: https://jsbin.com/ciloliweto/edit?html,输出 https://jsbin.com/ciloliweto/edit?html,output
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)