2012-04-03 80 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