【发布时间】:2010-09-14 06:09:40
【问题描述】:
我有一些 HTML 菜单,当用户单击这些菜单的头部时,我会完全显示这些菜单。当用户在菜单区域外点击时,我想隐藏这些元素。
用 jQuery 可以实现这样的事情吗?
$("#menuscontainer").clickOutsideThisElement(function() {
// Hide the menus
});
【问题讨论】:
-
以下是此策略的示例:jsfiddle.net/tedp/aL7Xe/1
-
正如汤姆所说,在使用这种方法之前,您需要阅读css-tricks.com/dangers-stopping-event-propagation。不过那个 jsfiddle 工具很酷。
-
获取对元素的引用,然后是 event.target,最后 != 或 == 他们都相应地执行代码..
-
Vanilla JS solution 带
event.target和 不带event.stopPropagation。
标签: javascript jquery click