如果焦点超过下一个div,则取消聚焦事件

时间:2016-07-20 12:07:28

标签: javascript jquery html

我在输入元素下有一个未排序的列表。

如果我在ul-或input-element外面点击,我想关闭ul。

但我不知道如何用jQ实现它。

要检测输入元素是否会失去焦点,我会写:

$('input[name=search]').focusout( //Close ul  );

但是如何检测焦点是否在输入和ul之外?

我想我发现了一种非常简单的方法。

这是函数

$(body).click(function(e) {
    if(!$(e.target).hasClass('custom-ul') && $(e.target).attr('name') != 'search')
    { //...do stuff }
});

1 个答案:

答案 0 :(得分:1)

您可以从输入中检测焦点,但也可以从无序列表中检测焦点。

或尝试这样的事情

$(document).click(function() {
    if ( $optionsHolder.data('hidden') || $optionsHolder.is(':animated') ) {
        return;
    }
   $selectedHolder.click();
})

How to trigger focusout event on a ul element?