单击观察者时隐藏层
Hiding Layers on click observer
我在文档中有许多层,这些层将在不同的用户交互中显示。现在,如果用户单击文档中的其他位置,我想隐藏这些层。这些层具有不同的ID。
有没有任何通用的方法可以为所有这些层只注册一个观察者?
您只需在document.body
节点中添加一个点击事件侦听器,并检查event.target
属性,看看它是在层内部还是在层外部,如果您在任何地方都没有stopPropagation
事件,这在冒泡阶段应该可以很好地工作,但如果不是这样,您可以在捕获阶段通过向addEventListener
提供true
作为最后一个参数来捕获它。让这个跨浏览器兼容是留给读者的练习。
相关文章:
- 未激发路由的控制器属性上的观察者
- 将属性设置为未定义时未通知观察者
- 检测 DIV 的高度何时变化,而无需轮询或突变观察者
- JavaScript:为什么Addy's观察者模式
- 设置多个观察程序以触发动态事件的角度替代解决方案 - 优化的观察者模式
- 被动.js模式间接观察者报告相同的值
- 将$scope对象作为参数提供给$digest中的观察者背后的逻辑
- 取代了棱角分明的深度观察者
- 突变观察者尚未定义
- 突变观察者未能检测到元素's删除dom
- 手动调整元素大小;不要在Chrome中激发突变观察者
- 共同描述编译器和观察者
- 如何确保对观察者的订阅调用最初接收到最新的值
- 未捕获的类型错误:无法执行'观察'在'突变观察者':参数1不是'节点'
- 在jQuery数据表中使用AngularJS观察者的方法是什么
- nodejs:原子文件替换操作,只触发一次一些观察者
- 阵列突变而不触发特定的观察者
- 无限循环当观察父对象时,观察者不更新任何值
- 基于观察者布尔值执行 ui-sref
- 单击观察者时隐藏层