Twitter bootstrap 防止引导下拉列表在单击时关闭
我正在尝试将复选框放在引导下拉列表中。我不想在点击时关闭下拉列表,但如果他们点击网站上的其他位置,我仍然希望它关闭。我仍然希望在下拉列表中单击时触发其他javascript操作。我有一个与我想要的正好相反的例子。此示例在单击时关闭下拉列表,但在从下拉区域外部单击时将其保持打开状态Twitter bootstrap 防止引导下拉列表在单击时关闭,twitter-bootstrap,drop-down-menu,Twitter Bootstrap,Drop Down Menu,我正在尝试将复选框放在引导下拉列表中。我不想在点击时关闭下拉列表,但如果他们点击网站上的其他位置,我仍然希望它关闭。我仍然希望在下拉列表中单击时触发其他javascript操作。我有一个与我想要的正好相反的例子。此示例在单击时关闭下拉列表,但在从下拉区域外部单击时将其保持打开状态 $(function () { $('.dropdown.keep-open').on({ "shown.bs.dropdown": function() { $
$(function () {
$('.dropdown.keep-open').on({
"shown.bs.dropdown": function() {
$(this).data('closable', false);
},
"click": function() {
$(this).data('closable', true);
},
"hide.bs.dropdown": function() {
return $(this).data('closable');
}
});
});
我终于拿到了。代码如下:
$(function() {
$('.dropdown.keep-open').on({
"shown.bs.dropdown": function() {
$(this).data('closable', false);
},
"click": function(event) {
$(this).data('closable', false);
},
"hide.bs.dropdown": function(event) {
temp = $(this).data('closable');
$(this).data('closable', true);
return temp;
}
});
});
编辑:在第11行添加了缺少的分号。我必须实现同样的目标,并编写了一个更简单的分号:
$('.dropdown.keep-open').one({
'mouseenter': () => { $(this).data('closable', false); },
'mouseleave': () => { $(this).data('closable', true); },
'hide.bs.dropdown': () => !!$(this).data('closable')
});
我希望它能帮助别人。顺便说一句,这些都是非常肮脏的黑客行为,Bootstrap可能真的有这样的选择。谢谢我所需要的。