摘要:如何实现检测点击区域是否在某个元素以外很多人都会像排名第一的答案那样做,如下这却会导致一个问题点击事件停止冒泡了,可能会使得其他程序无法知道事件的发生。
如何实现检测点击区域是否在某个元素以外?
很多人都会像排名第一的答案那样做,如下:
$(window).click(function() { //Hide the menus if visible }); $("#menucontainer").click(function(event){ event.stopPropagation(); });
这却会导致一个问题:点击事件停止冒泡了,可能会使得其他程序无法知道事件的发生。
那么如何做能解决这个问题呢,答案如下:
$(document).on("click", function(event) { if (!$(event.target).closest("#menucontainer").length) { // Hide the menus. } });
document 监听了点击事件,判断 event target 是否是 #menucontainer 或父元素是 #menucontainer,如果不是,那你就可以知道点击区域在 #menucontainer 之外。
来源: The Dangers of Stopping Event Propagation
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/80004.html
摘要:事件流事件流是描述对页面接受事件的顺序,和提出了完全相反的事件流模型,描述的是从页面中接收事件的顺序也可理解为事件在页面中传播的顺序。 事件流 事件流是描述对页面接受事件的顺序,IE和Netscape提出了完全相反的事件流模型,描述的是从页面中接收事件的顺序,也可理解为事件在页面中传播的顺序。 我们通过平常使用知道addEventListener最后的参数是切换句柄的,当这个布尔值为...
摘要:如问到是否使用某框架,实际是是问该框架的使用场景,有什么特点,和同类可框架对比一系列的问题。这两个方向的区分点在于工作方向的侧重点不同。 [TOC] 这是一份来自哔哩哔哩的Java面试Java面试 32个核心必考点完全解析(完) 课程预习 1.1 课程内容分为三个模块 基础模块: 技术岗位与面试 计算机基础 JVM原理 多线程 设计模式 数据结构与算法 应用模块: 常用工具集 ...
阅读 873·2021-10-25 09:44
阅读 1237·2021-09-23 11:56
阅读 1082·2021-09-10 10:50
阅读 3015·2019-08-30 15:53
阅读 2045·2019-08-30 13:17
阅读 600·2019-08-29 18:43
阅读 2412·2019-08-29 12:57
阅读 830·2019-08-26 12:20