2012-04-03 68 views
1

我在文档中有很多层将显示在不同的用户交互中。现在我想隐藏这些图层,如果用户点击文档中的其他任何地方。这些图层具有不同的ID。点击观察者隐藏图层

是否有任何通用的方法来注册只有一个单一的观察员的所有这些层?

回答

0

你可以只添加一个单击事件侦听器document.body节点和检查event.target属性,看它是否是内部或层之外,这应该做工精细冒泡阶段,如果你做的不是事件的stopPropagation任何地方,但是如果不是这种情况,您可以通过提供true作为addEventListener的最后一个参数来捕获它。使这个跨浏览器兼容的作为练习留给读者。

+0

但如何检查图层是否可见? – user160820 2012-04-03 11:34:25

+0

好吧,如果你用'el.style.display =“none”隐藏它们,那么你可以比较'var hidden =(el.style.display ==“none”);'。没有代码,我无法进一步提供帮助 - 有很多不同的方法可以做到这一点...... – Benjie 2012-04-03 12:22:14