Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何选择除一个元素之外的实体?_Jquery_Html_Selector_Except - Fatal编程技术网

Jquery 如何选择除一个元素之外的实体?

Jquery 如何选择除一个元素之外的实体?,jquery,html,selector,except,Jquery,Html,Selector,Except,我正在使用一个颜色选择器,当在它之外的任何地方单击时,它应该被隐藏。 问题是,即使在拾取器内部发出咔哒声,它也会消失 $('body :not(#picker)').click(function() { $('#picker').fadeOut(); }); 我试过这个,但它会显示选择器并立即隐藏它。 有人有什么建议吗 尝试使用获取单击的元素: $("body").click(function(event) { if (event.target.id != "picker")

我正在使用一个颜色选择器,当在它之外的任何地方单击时,它应该被隐藏。 问题是,即使在拾取器内部发出咔哒声,它也会消失

$('body :not(#picker)').click(function() {
    $('#picker').fadeOut();
});
我试过这个,但它会显示选择器并立即隐藏它。 有人有什么建议吗

尝试使用获取单击的元素:

$("body").click(function(event) {
    if (event.target.id != "picker") {
        $("#picker").fadeOut();
    }
});

您可能希望使用window或html而不是body,因为body可能不会覆盖整个窗口区域。@Jari,那么我将使用
文档
。我在回答中选择了
body
,因为这是提问者使用的元素。你救了我一天+1.
$("body").click(function(e) {
    if ($(e.target).attr('id') == 'picker') {
        return;
    } else {
        $('#picker').fadeOut();
    }
});