在没有 event.stopPropagation() 的情况下单击下拉 div 时,防止引导选择的下拉列表关闭

时间:2021-07-29 17:57:26

标签: javascript jquery dropdown bootstrap-select

我们有一个自定义引导选择,其中在选项旁边有 3 个额外的按钮,当您单击任何按钮时,包括操作按钮(全选、全选、完成/关闭),您可以继续选择,考虑到这是一个多重选择器。问题是,当您在下拉菜单内单击但错过了一个按钮时,即单击按钮之间的间隙,下拉菜单将关闭。 我们已经尝试了 event.stopPropagation(),但主要问题是这可能会导致混乱的错误,目前完成按钮不会关闭下拉菜单。< /p>

$('div.dropdown-menu').on('click', function (event) {
var events = $._data(document, 'events') || {};
events = events.click || [];
for (var i = 0; i < events.length; i++) {
    if (events[i].selector) {

        //Check if the clicked element matches the event selector
        if ($(event.target).is(events[i].selector)) {
            events[i].handler.call(event.target, event);
        }

        // Check if any of the clicked element parents matches the 
        // delegated event selector (Emulating propagation)
        $(event.target).parents(events[i].selector).each(function () {
            events[i].handler.call(this, event);
        });
    }
}
    event.stopPropagation(); //Always stop propagation  
});

欢迎任何解决方法,目前我们正在尝试选择处理单击按钮的按钮,但我们无法获取该按钮的 jQuery 元素,并且每次创建新的引导选择时都需要它,我们需要在创建选择时让它工作。

0 个答案:

没有答案
相关问题