自动填充列表事件停止传播问题

时间:2015-07-16 06:44:38

标签: javascript jquery autocomplete propagation

点击按钮隐藏/显示我有一个面板 在“面板输入”区域下,使用“自动完成”显示数据。

$('body').click(function () {
   $('.bk-panel').hide();
});

点击身体面板隐藏它也适用于内部元素/点击内部元素它不会隐藏,因为我使用了这个:

$('.bk-panel').click(function (e) {
   e.stopPropagation();
});

但On Input我使用的是autocomplete jquery>点击ul li list,它隐藏了我的面板div。

我已尝试在所有这些类上进行传播> ui-autocomplete ui-front ui-menu ui-widget ui-widget-content ui-corner-all /似乎什么都没有用

1 个答案:

答案 0 :(得分:0)

另一种更容易的选择:

$('body').click(function (e) {
    var container = $('.bk-panel');

    // if the target of the click isn't the container...
    // ... nor a descendant of the container
    if (!container.is(e.target) && container.has(e.target).length === 0) {
        container.hide();
    }
});

小提琴: https://jsfiddle.net/azq4wjdj/