我<div>在页面上存在一个,我需要进行设置,以便当用户在该元素之外单击时它将被隐藏,但是如果用户在该元素内的某个位置单击,则它应该保留。
<div>
我尝试使用 e.stopPropagation(); 和 e.preventDefault();
e.stopPropagation();
e.preventDefault();
将其添加到该特定DIV的click事件中,但这没有用。
谢谢!
在弹出式鼠标悬停时切换 标志 :
var $pop = $('#popup'), notHov = 1; // Hover flag $pop.hover(function(){ notHov^=1; }); // Toggle flag on hover $(document).on('mouseup keyup', function( e ){ if(notHov||e.which==27) $pop.fadeOut(); });
注: 如果页面上的某个地方,你有一个元素 阻止 的mouseup event冒泡DOM树达document(以注册),您可能希望 创建一个全屏幕 (就像一个页面叠加) 弹出包装 注册点击事件,在代码改变只是选择以上:而不是$(document)将$('#popupWrapper')
mouseup event
document
$(document)
$('#popupWrapper')