相容所有瀏覽器的阻止事件冒泡程式碼
事件冒泡在實際應用有時候是好事情,有時候是壞事情,也就是說任何事情總有兩面性,所有有時候就需要阻止事件冒泡現象,下面通過程式碼例項介紹一下相容所有主流瀏覽器的阻止事件冒泡程式碼。
程式碼如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script type="text/javascript"> window.onload=function() { var odiv=document.getElementById("box"); var obt=document.getElementById("bt"); odiv.onclick=function(){alert("父元素上的事件被觸發!")} obt.onclick=function(){alert("按鈕上的事件觸發!")} } </script> </head> <body> <div id="box"><input type="button" id="bt" value="檢視效果"/></div> </body> </html>
以上程式碼會出現事件冒泡現象,點選按鈕也會觸發註冊在div上的事件,關於什麼是事件冒泡具體可以參閱javascript事件冒泡簡單介紹一章節,這裡就不多介紹了。下面將程式碼修改如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script type="text/javascript"> window.onload=function() { var odiv=document.getElementById("box"); var obt=document.getElementById("bt"); odiv.onclick=function(){alert("父元素上的事件被觸發!")} obt.onclick=function(ev) { if(window.event) { event.cancelBubble=true; } else if(evt) { evt.stopPropagation(); } alert("按鈕上的事件觸發!") } } </script> </head> <body> <div id="box"><input type="button" id="bt" value="檢視效果"/></div> </body> </html>
以上程式碼只會觸發按鈕上的事件,而不會傳遞到父元素,程式碼比較簡單具體可以參閱相關閱讀或者跟帖留言。
相關閱讀:
1.var e = evt || window.event可以參閱var ev=window.event||ev的作用是什麼一章節。
2. e.cancelBubble可以參閱javascript cancelBubble事件屬性一章節。
3.e.stopPropagation()可以參閱javascript stopPropagation()一章節。
相關文章
- 相容所有瀏覽器的阻止事件冒泡js程式碼瀏覽器事件JS
- 相容所有瀏覽器的阻止事件冒泡封裝瀏覽器事件封裝
- 相容低版本IE瀏覽器的阻止事件冒泡效果程式碼瀏覽器事件
- 阻止瀏覽器冒泡事件,相容firefox和ie瀏覽器事件Firefox
- js相容所有瀏覽器的事件繫結程式碼JS瀏覽器事件
- 相容所有瀏覽器的獲取事件源物件程式碼瀏覽器事件物件
- 相容所有瀏覽器的DOMContentLoaded事件瀏覽器事件
- 相容所有瀏覽器的對聯廣告程式碼瀏覽器
- 相容所有瀏覽器的progress程式碼例項瀏覽器
- javascript阻止事件冒泡程式碼JavaScript事件
- 阻止冒泡和阻止預設事件的相容寫法事件
- 相容所有瀏覽器的模糊效果程式碼例項瀏覽器
- JavaScript 阻止事件冒泡程式碼例項JavaScript事件
- js阻止事件冒泡例項程式碼JS事件
- jQuery阻止事件冒泡程式碼例項jQuery事件
- 阻止jquery事件冒泡程式碼例項jQuery事件
- jQuery阻止事件冒泡例項程式碼jQuery事件
- 相容所有瀏覽器的js滑鼠中鍵滾動事件瀏覽器JS事件
- forEach()相容所有瀏覽器瀏覽器
- CSS實現的相容所有瀏覽器的背景漸變程式碼CSS瀏覽器
- 相容所有瀏覽器的placeholder效果瀏覽器
- 相容所有瀏覽器的getElementsByClassName()函式瀏覽器函式
- 相容所有瀏覽器的禁止選中div文字程式碼例項瀏覽器
- jQuery阻止事件冒泡現象程式碼例項jQuery事件
- javascript相容各個瀏覽器的獲取事件源物件程式碼JavaScript瀏覽器事件物件
- 相容所有瀏覽器的密碼框輸入提示效果瀏覽器密碼
- js實現的相容所有瀏覽器的滑鼠中鍵滾動事件JS瀏覽器事件
- JavaScript阻止事件冒泡JavaScript事件
- jquery阻止事件冒泡jQuery事件
- 相容所有瀏覽器的圓角出效果瀏覽器
- 相容所有瀏覽器的陣列indexOf()方法瀏覽器陣列Index
- js相容所有主流瀏覽器建立XMLhttpRequest物件例項程式碼JS瀏覽器XMLHTTP物件
- 相容所有瀏覽器array物件indexOf()方法瀏覽器物件Index
- 前端學習程式碼例項-JavaScript阻止事件冒泡前端JavaScript事件
- jQuery阻止事件冒泡和預設行為程式碼jQuery事件
- javascript相容所有瀏覽器設定元素透明度程式碼例項JavaScript瀏覽器
- js相容各個瀏覽器的事件物件JS瀏覽器事件物件
- stopPropagation() 阻止事件冒泡事件