我有一个HTML div,希望在用户单击div外的页面任何位置时隐藏它。我应该在哪个元素上触发onclick事件?
我有一个HTML div,希望在用户单击div外的页面任何位置时隐藏它。我应该在哪个元素上触发onclick事件?
$('#mydiv').click(function(e) { e.stopImmediatePropagation(); });
$(document.body).one("click", function() {
$('#mydiv').hide();
});
由于mydiv
也是body
元素的子元素,因此您不希望单击该元素时使元素消失。
因此,当人们单击mydiv
时,您希望它停止冒泡到body
元素,这就是为什么首先在mydiv
上注册一个单击事件,并告诉它停止冒泡。
$(<the div you want hidden>).click(false); //stop click event from bubbling up to the document
$(document).one('click', function(){
$(<the div you want hidden>).hide(); //which will hide the div
});
$('button').click(function(){
$('div').toggle();
});
$('div').click(false);
$(document).click(function(){
$('div').hide();
//reset the toggle state, e.g.
$('button').removeClass('selected');
});
身体元素。
.one()
接受一个eventType
作为参数。在这里,你绑定的是哪个事件? - Han Seoul-Oh