当我点击它时为什么要隐藏它

时间:2015-08-12 13:29:48

标签: javascript jquery html

当我点击链接时,我显示div。我写了一些js,如果我点击这个div的边界之外,它必须隐藏。但是我遇到了这样的问题,如果我点击标识为fullFilter的输入,它就会隐藏。

我这样写是为了解决这个问题

 $(document).click(function(e) {
    if (e.target.class != 'full-filter' && e.target.id != 'fullFilter' && e.target.id != 'resetFilter' && e.target.id != 'salaryFrom' && e.target.id != 'salaryTo') {
        $('.full-filter').hide();
    }
});

但如果我点击我的表格,它也会隐藏。它的类是full-filter。我做错了什么?请帮忙

1 个答案:

答案 0 :(得分:1)

最好走树,找出是否在表单内单击。最简单的方法是使用closest

$(document).click(function(e) {
    if ( !$(e.target.closest(".full-filter").length) {
        $('.full-filter').hide();
    }
});