css穿透點擊


css屬性pointer-events

這絕對定位元素蓋住鏈接或添加某事件handle的元素后,那么該鏈接的默認行為(頁面跳轉)或元素事件將不會被觸發。

現在Firefox3.6+/Safari4+/Chrome支持一個稱為pointer-events的css屬性。使用該屬性可以決定是否能穿透絕對定位元素去觸發下面元素的某些行為。

如下:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title></title>
  <style>
    .overlay1 {
      width:50px;
      height:30px;
      background:gold;
      position:absolute;
      top:5px;
      left:65px;
      opacity:0.5;
    }
    .overlay2 {
      width:100px;
      height:30px;
      background:gold;
      position:absolute;
      top:60px;
      left:25px;
      opacity:0.5;
    }
    .pointer{
      pointer-events:none;
       }
  </style>
</head>
<body>
  <div id="a" class="overlay1"></div>
  <div id="b" class="overlay2"></div>

  <a href="http://www.baidu.com">Baidu</a>
  <a href="http://www.baidu.com" "="">Baidu</a>
  <br/><br/><br/>
  <span onclick="alert(3);">SPAN element</span>

  <p>
    <input id="chx" type="checkbox">
    <label for="chx">穿透點擊</label>
  </p>
<script type="text/javascript">
  window.onload = function(){
    document.getElementById('chx').onclick = function(){
      document.getElementById('a').className = "overlay1 " + ((this.checked)? "pointer" : "");
      document.getElementById('b').className = "overlay2 " + ((this.checked)? "pointer" : "");
    }
  }
</script>
</body>
</html>


免責聲明!

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



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