我正在制作一个按钮,当点击时会显示一个内部带有html的框。如果点击任何内容而不是在同一个框内,我想隐藏该框。有什么建议吗?
答案 0 :(得分:4)
您可以在此处使用event propagation (bubbling),例如:
$("#button").click(function(e) {
//show #box
});
$("#button, #box").click(function(e) {
e.stopPropagation();
});
$(document).click(function() {
$("#box").hide();
});
You can test it out here,如果点击按钮或在元素内部(在这种情况下为#box
),则事件不会冒泡。在其他任何地方,它都不会冒泡,最高为document
,隐藏#box
。
答案 1 :(得分:-1)
$(':not(#box)').bind('click', function() {
// this should match everything except your box
});