我想弹出一个菜单,当用户点击菜单以外的位置时,菜单会隐藏。 此外,如果点击位于某些具有点击侦听器的节点上,则不会触发这些处理功能。 我可以使用透明遮罩层来实现这一点,但有没有更简单的方法(因为我使用jQuery)? 我试过了:不是选择器
$(document).on('click',':not(.menu)',function(e){
$('.menu').hide();
});
但它似乎不起作用(我也应该在这里添加一个e.stopPropgation())?
答案 0 :(得分:2)
我会写这样的东西:
$(document).on('click', function(e){
if($(e.target).parents(".menu").length == 0)
$('.menu').hide();
});