解決水印 覆蓋底層事件問題


項目中 遇到運用水印,因為 水印 z-index 比較 大,所以會覆蓋 z-index 比較小的圖層 那么就導致 了 底層 的點擊事件 不能點擊。

 最終是用 了CSS3 pointer-events:none解決 了,因為 css 研究不透徹 結果 走了彎路。特此記錄下來。

查了 下這個屬性 ,貼過來以后方便看。

pointer-events:  auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit
pointer-events屬性有很多值,但是對於瀏覽器來說,只有auto和non兩個值可用,其它的幾個是針對SVG的(本身這個屬性就來自於SVG技術)。
pointer-events屬性值詳解
auto——效果和沒有定義pointer-events屬性相同,鼠標不會穿透當前層。在SVG中,該值和visiblePainted的效果相同。
none——元素不再是鼠標事件的目標,鼠標不再監聽當前層而去監聽下面的層中的元素。但是如果它的子元素設置了pointer-events為其它值,比如auto,鼠標還是會監聽這個子元素的。
其它屬性值為SVG專用,這里不再多介紹了。
瀏覽器兼容性
Firefox 3.6+和chrome 2.0+ 以及safari 4.0+都支持這個CSS3屬性,IE6/7/8/9都不支持,Opera在SVG中支持該屬性但是HTML中不支持。好吧,
mask_div.style.pointerEvents="none";

設置 pointerEvents 為none 表示 該元素不再是鼠標事件的目標 因此 就可以忽略當前圖層。這樣就可以點擊到當前圖層的下面被覆蓋的那一層了。

  http://www.blueidea.com/tech/web/2010/7494.asp


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM