JavaScript阻止事件冒泡
事件冒泡可以參閱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 bt=document.getElementById("bt"); var main=document.getElementById("main"); bt.onclick=function(){ alert("按鈕事件觸發"); } main.onclick=function(){ alert("div事件觸發"); } } </script> </head> <body> <div id="main"> <input type="button" id="bt" value="檢視效果"/> </div> </body> </html>
點選按鈕會觸發註冊在它本身的事件,也通過會將事件傳遞給它的父元素。
程式碼修改如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script type="text/javascript"> function stopBubble(e){ if(e&&e.stopPropagation){ e.stopPropagation(); } else{ window.event.cancelBubble=true; } } window.onload=function(){ var bt=document.getElementById("bt"); var main=document.getElementById("main"); bt.onclick=function(ev){ var ev=ev||window.event; alert("按鈕事件觸發"); stopBubble(ev) } main.onclick=function(){ alert("div事件觸發"); } } </script> </head> <body> <div id="main"> <input type="button" id="bt" value="檢視效果"/> </div> </body> </html>
以上程式碼阻止事件冒泡現象,程式碼比較簡單不多介紹。
相關閱讀:
(1).var ev=ev||window.event參閱var ev=window.event||ev的作用是什麼一章節。
(2).stopPropagation方法參閱JavaScript stopPropagation()一章節。
相關文章
- JavaScript 阻止事件冒泡程式碼例項JavaScript事件
- stopPropagation() 阻止事件冒泡事件
- 前端學習程式碼例項-JavaScript阻止事件冒泡前端JavaScript事件
- 原生js如何阻止事件冒泡JS事件
- JavaScript 事件冒泡JavaScript事件
- JavaScript事件捕獲冒泡與捕獲JavaScript事件
- Javascript中的事件冒泡與捕獲JavaScript事件
- 阻止捕獲和冒泡,阻止預設行為
- JavaScript和JQuery的滑鼠mouse事件冒泡處理JavaScriptjQuery事件
- 事件的冒泡事件
- 微信小程式如何阻止多層巢狀元件的點選事件冒泡微信小程式巢狀元件事件
- 模態框到阻止冒泡時間
- JQuery6:事件冒泡jQuery事件
- jQuery學習筆記02--讀取和操作屬性,讀取和操作屬性節點,新增、刪除、改變類,操作html、css、value,操作事件,事件冒泡及阻止事件冒泡,預設行為及阻止預設行為,自動觸發事件jQuery筆記HTMLCSS事件
- 關於js事件冒泡和事件捕獲JS事件
- zepto繫結事件改變冒泡事件流事件
- 理解js的事件冒泡和事件捕獲JS事件
- 事件的捕獲、冒泡、委託事件
- JS中的事件順序(事件捕獲與冒泡)JS事件
- 阻止游標預設事件事件
- 梳理下常見的不冒泡事件事件
- 移動端點透事件--阻止滾動事件事件
- JavaScript 阻止預設動作JavaScript
- JavaScript阻止預設動作JavaScript
- vue的事件冒泡 最詳細解釋版本Vue事件
- JavaScript 阻止超連結跳轉JavaScript
- JavaScript事件JavaScript事件
- JavaScript 事件JavaScript事件
- JavaScript 阻止超連結的跳轉JavaScript
- JavaScript dragstart 事件JavaScript事件
- JavaScript drag 事件JavaScript事件
- JavaScript dragend 事件JavaScript事件
- JavaScript dragenter 事件JavaScript事件
- JavaScript dragover 事件JavaScriptGo事件
- JavaScript dragleave 事件JavaScript事件
- JavaScript drop 事件JavaScript事件
- JavaScript storage 事件JavaScript事件
- JavaScript resize 事件JavaScript事件