天天看點

阻止預設行為和阻止事件傳播

08820170930 / 08920170930

1、阻止預設行為

--阻止預設行為--
<script>
window.onload = function() {
  var link = document.getElementById("a_tiger");
  //var link = document.getElementsByTagName("a")[0];
  // 參數1 e表示事件的對象
  link.onclick = function(e) {
    if(e && e.preventDefault) {
      e.preventDefault();
      alert("w3c");
    } else {
      window.event.returnValue = false;
      alert("ie");
    }
  }; // end onclick
}; // end onload
</script>



百度      

2、阻止事件傳播

history 
<script>
window.onload = function() {
  // 按鈕的點選事件
  var btn = document.getElementsByTagName("input")[0];
  btn.onclick = function(e) {
    alert("btn click");
    if(e && e.stopPropagation) {
      e.stopPropagation();
    } else {
      window.event.cancelBubble = true;
    }
  };
  // div的點選事件
  var div = document.getElementById("div1");
  div.onclick = function() {
    alert("div click");
  };
  // a的點選事件
  var link = document.getElementsByTagName("a")[0];
/*  link.onclick = function(e) {
    alert("link click");
    if(e && e.stopPropagation) {
      e.stopPropagation();
    } else {
      window.event.cancelBubble = true;
    }
  };*/
  link.onclick = function(e) {
    //PS:如果需要同時阻止事件的預設行為和阻止事件的傳播。可以在事件函數中簡單寫上
    alert("link click");
    return false;
  };
  
}; // end onload 
</script>


a測試      

繼續閱讀