如何检测元素外部的点击?

发布时间 2023-10-30 23:28:45作者: 小满独家

内容来自 DOC https://q.houxu6.top/?s=如何检测元素外部的点击?

我有一些HTML菜单,当用户点击这些菜单的头部时,我会完全显示它们。我希望在用户点击菜单区域外时隐藏这些元素。

这是否可以通过jQuery实现?

$("#menuscontainer").clickOutsideThisElement(function() {
    // 隐藏菜单
});

注意:使用stopPropagation应该避免,因为它会破坏DOM中正常的事件流。有关更多信息,请参阅此CSS Tricks文章。考虑改用此方法。

将点击事件附加到文档主体以关闭窗口。将单独的点击事件附加到容器以停止传播到文档主体。

$(window).click(function() {
  //如果菜单可见,则隐藏菜单
});

$('#menucontainer').click(function(event){
  event.stopPropagation();
});