在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ HTML/ 淺談 javascript 事件取消和阻止冒泡
淺談 JavaScript 之事件綁定
淺談 javascript 中字符串 String 與數(shù)組 Array
淺談 javascript 中基本包裝類型
淺談 JavaScript Math 和 Number 對象
淺談 Javascript 的靜態(tài)屬性和原型屬性
淺談 JavaScript 中定義變量時有無 var 聲明的區(qū)別
淺談 JavaScript Array 對象
淺談 JavaScript 函數(shù)參數(shù)的可修改性問題
淺談 javascript 中的 instanceof 和 typeof
淺談 JavaScript 中 Date (日期對象),Math 對象
淺談 Javascript 執(zhí)行順序
淺談 javascript 函數(shù)屬性和方法
淺談 JavaScript 中面向?qū)ο蠹夹g(shù)的模擬
淺談 javascript 的原型繼承
淺談 javascript 事件取消和阻止冒泡
根據(jù)一段代碼淺談 Javascript 閉包
淺談 Javascript 面向?qū)ο缶幊?/span>
淺談 javascript 六種數(shù)據(jù)類型以及特殊注意點
淺談 Javascript 變量作用域問題
淺談 javascript 函數(shù)內(nèi)部屬性
淺談 javascript 中自定義模版
淺談 JavaScript 字符集
淺談 javascript 面向?qū)ο缶幊?/span>
淺談 JavaScript 框架分類
淺談 JavaScript 中的 Math.atan() 方法的使用
淺談 Javascript 數(shù)組與字典
淺談 JavaScript 數(shù)據(jù)類型及轉(zhuǎn)換
淺談 javascript 的調(diào)試
淺談 Javascript 嵌套函數(shù)及閉包
淺談 javascript 回調(diào)函數(shù)
淺談 JavaScript Date 日期和時間對象
淺談 Javascript 中的 Function 與 Object
淺談 JavaScript 數(shù)據(jù)類型
淺談 javascript 中 this 在事件中的應(yīng)用
淺談 javascript 中的閉包
淺談 javascript 函數(shù)劫持
淺談 Javascript 中深復(fù)制
淺談 JavaScript 函數(shù)節(jié)流
淺談 JavaScript 中的 String 對象常用方法
淺談 JavaScript 事件的屬性列表
淺談 JavaScript 函數(shù)與棧
淺談 JavaScript 的事件
淺談 javascript 中的作用域
淺談 JavaScript 的執(zhí)行效率
淺談 Javascript 事件模擬
淺談 JavaScript function 函數(shù)種類
淺談 javascript 歸并方法
淺談 javascript 迭代方法
淺談 JavaScript 編程語言的編碼規(guī)范
淺談 JavaScript 實現(xiàn)面向?qū)ο笾械念?/span>
淺談 Javascript 鼠標和滾輪事件
淺談 Javascript Base64 加密解密
淺談 Javascript 中勻速運動的停止條件
淺談 javascript 實現(xiàn)八大排序
淺談 javascript 的分號的使用
淺談 javascript 中 createElement 事件
淺談 javascript 的數(shù)據(jù)類型檢測
淺談 javascript 對象模型和 function 對象
淺談 Javascript 如何實現(xiàn)勻速運動
淺談 JavaScript 字符串與數(shù)組
淺談 javascript 面向?qū)ο蟪绦蛟O(shè)計
淺談 Javascript 事件處理程序的幾種方式

淺談 javascript 事件取消和阻止冒泡

取消默認操作

w3c 的方法是 e.preventDefault(),IE 則是使用 e.returnValue = false;

在支持 addEventListener() 的瀏覽器中,也能通過調(diào)用時間對象的 preventDefault() 方法取消時間的默認操作。不過,在 IE9 之前的 IE 中,可以通過設(shè)置事件對象的 returnValue 屬性為 false 來達到同樣的效果。下面的代碼假設(shè)一個事件處理程序,它使用全部的三種取消技術(shù):

[js] view plaincopy
function cancelHandler(event){  
  var event = event || window.event;  //用于IE  
  if(event.preventDefault) event.preventDefault();  //標準技術(shù)  
  if(event.returnValue) event.returnValue = false;  //IE  
  return false;   //用于處理使用對象屬性注冊的處理程序  
}  

當前的 DOM 事件模型草案定義了 Event 對象屬性 defaultPrevented。

return false

javascript 的 return false 只會阻止默認行為,而是用 jQuery 的話則既阻止默認行為又防止對象冒泡。

下面這個使用原生 JS,只會阻止默認行為,不會停止冒泡

[js] view plaincopy
<div id='div'  onclick='alert("div");'>
<ul  onclick='alert("ul");'>
<li id='ul-a' onclick='alert("li");'><a >caibaojian.com</a></li>
</ul>
</div>
var a = document.getElementById("testB");
a.onclick = function(){
return false;
};

阻止冒泡

w3c 的方法是 e.stopPropagation(),IE 則是使用 e.cancelBubble = true

在支持 addEventListener() 的瀏覽器中,可以調(diào)用事件對象的一個 stopPropagation() 方法已阻止事件的繼續(xù)傳播。如果在同一對象上定義了其他處理程序,剩下的處理程序?qū)⒁琅f被調(diào)用,但調(diào)用 stopPropagation() 方法可以在事件傳播期間的任何時間調(diào)用,它能工作在捕獲階段、事件目標本身中和冒泡階段。

IE9 之前的IE不支持 stopPropagation() 方法。相反,IE事件對象有一個 cancleBubble 屬性,設(shè)置這個屬性為 true 能阻止事件進一步傳播。( IE8 及之前版本不支持事件傳播的捕獲階段,所以冒泡是唯一待取消的事件傳播。)

當前的 DOM 事件規(guī)范草案在 Event 對象上定義了另一個方法,命名為stopImmediatePropagation()。類似 stopPropagation(),這個方法組織了任何其他對象的事件傳播,但也阻止了在相同對象上注冊的任何其他事件處理程序的調(diào)用。

[js] view plaincopy
<div id='div' onclick='alert("div");'>  

  <ul onclick='alert("ul");'>  

    <li onclick='alert("li");'>test</li>  

  </ul>  

</div>  

阻止冒泡

[js] view plaincopy
function stopHandler(event)  

    window.event?window.event.cancelBubble=true:event.stopPropagation();  

}  

以上所述上就是本文的全部內(nèi)容了,希望大家能夠喜歡。