相容所有瀏覽器的阻止事件冒泡js程式碼
事件冒泡是一把雙刃劍,有有利的一面,也有不利的一面,在某些情況下需要阻止事件冒泡效果,但是由於低版本IE瀏覽器的存在所以相容性是一個問題,下面通過程式碼例項介紹一下相容所有瀏覽器的阻止事件冒泡的javascript程式碼。
先看一段程式碼例項:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> #box { width:300px; height:300px; background:red; margin:0px auto; overflow:hidden; } #inner { width:100px; height:100px; background:green; margin:0px auto; margin-top:125px; font-size:12px; } </style> <script type="text/javascript"> window.onload=function(){ var box=document.getElementById("box"); var inner=document.getElementById("inner"); box.onclick=function(){ inner.innerHTML="事件傳遞到父元素"; } inner.onclick=function(){ inner.innerHTML="事件僅在本元素"; } } </script> </head> <body> <div id="box"> <div id="inner"></div> </div> </body> </html>
以上程式碼中,點選子div的時候,事件能夠傳遞給父元素,關於什麼是事件冒泡可以參閱javascript事件冒泡簡單介紹一章節。
程式碼修改如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> #box { width:300px; height:300px; background:red; margin:0px auto; overflow:hidden; } #inner { width:100px; height:100px; background:green; margin:0px auto; margin-top:125px; font-size:12px; } </style> <script type="text/javascript"> function stopBubble(e) { if(e&&e.stopPropagation) { e.stopPropagation(); } else { window.event.cancelBubble=true; } } window.onload=function(){ var box=document.getElementById("box"); var inner=document.getElementById("inner"); box.onclick=function(){ inner.innerHTML="事件傳遞到父元素"; } inner.onclick=function(ev){ var ev=ev||window.event; stopBubble(ev); inner.innerHTML="事件僅在本元素"; } } </script> </head> <body> <div id="box"> <div id="inner"></div> </div> </body> </html>
以上程式碼可以成功阻止事件冒泡效果,具體可以參閱javascript阻止事件冒泡程式碼一章節。
相關文章
- 相容所有瀏覽器的阻止事件冒泡程式碼瀏覽器事件
- 相容所有瀏覽器的阻止事件冒泡封裝瀏覽器事件封裝
- 相容低版本IE瀏覽器的阻止事件冒泡效果程式碼瀏覽器事件
- 阻止瀏覽器冒泡事件,相容firefox和ie瀏覽器事件Firefox
- js相容所有瀏覽器的事件繫結程式碼JS瀏覽器事件
- 相容所有瀏覽器的獲取事件源物件程式碼瀏覽器事件物件
- js阻止事件冒泡例項程式碼JS事件
- 相容所有瀏覽器的js滑鼠中鍵滾動事件瀏覽器JS事件
- 相容所有瀏覽器的DOMContentLoaded事件瀏覽器事件
- 相容所有瀏覽器的對聯廣告程式碼瀏覽器
- 相容所有瀏覽器的progress程式碼例項瀏覽器
- javascript阻止事件冒泡程式碼JavaScript事件
- 阻止冒泡和阻止預設事件的相容寫法事件
- 相容所有瀏覽器的模糊效果程式碼例項瀏覽器
- js實現的相容所有瀏覽器的滑鼠中鍵滾動事件JS瀏覽器事件
- js相容所有主流瀏覽器建立XMLhttpRequest物件例項程式碼JS瀏覽器XMLHTTP物件
- js相容各個瀏覽器的事件物件JS瀏覽器事件物件
- 原生js如何阻止事件冒泡JS事件
- JavaScript 阻止事件冒泡程式碼例項JavaScript事件
- jQuery阻止事件冒泡程式碼例項jQuery事件
- 阻止jquery事件冒泡程式碼例項jQuery事件
- jQuery阻止事件冒泡例項程式碼jQuery事件
- 原生js如何建立相容所有瀏覽器的xmlhttp物件JS瀏覽器XMLHTTP物件
- forEach()相容所有瀏覽器瀏覽器
- CSS實現的相容所有瀏覽器的背景漸變程式碼CSS瀏覽器
- js相容所有瀏覽器的pageX和pageY屬性JS瀏覽器
- 相容所有瀏覽器的placeholder效果瀏覽器
- 相容所有瀏覽器的getElementsByClassName()函式瀏覽器函式
- 相容所有瀏覽器的禁止選中div文字程式碼例項瀏覽器
- jQuery阻止事件冒泡現象程式碼例項jQuery事件
- javascript相容各個瀏覽器的獲取事件源物件程式碼JavaScript瀏覽器事件物件
- JavaScript阻止事件冒泡JavaScript事件
- jquery阻止事件冒泡jQuery事件
- 相容所有瀏覽器的密碼框輸入提示效果瀏覽器密碼
- 相容所有瀏覽器的圓角出效果瀏覽器
- 相容所有瀏覽器的陣列indexOf()方法瀏覽器陣列Index
- 相容所有瀏覽器js設定元素透明度效果瀏覽器JS
- 相容所有瀏覽器array物件indexOf()方法瀏覽器物件Index