如何解决Javascript / jQuery:如何捕获针对除几个指定元素以外的任何元素的点击?
| 这个问题的措词可能非常混乱,所以这里有个简单的例子 http://www.andytimney.com/projects/jquerydropdown/ 如果单击\“ Archive \”,则会显示一个下拉列表。现在,如果要关闭它,则需要再次单击“存档”。但是,我想通过不以\“选项1 \”,\“选项2 \”为目标的任何单击来关闭它。与Facebook的操作类似,如果您单击右上角的“帐户”菜单。 我想到的唯一解决方案是将一个onClick函数绑定到该函数上,或者该函数不适用于页面上存在的所有元素(除了我将指定的几个元素之外)。该解决方案对我来说似乎有点不足,所以我想知道是否有一个更精明的解决方案,我不见了。解决方法
阅读本文如何检测元素外部的点击?
,将click事件附加到主体并测试clicked项是否不是一个选项:
$(\'body\').click( function(e) {
if(!$(e.target).parents(\'.option\').length && !$(e.target).hasClass(\'.option\')) {
$(\'.archive\').hide();
}
});
,您是否尝试过文档单击并在触发菜单单击时停止传播事件?关于事件冒泡的有趣文章http://www.quirksmode.org/js/events_order.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。