您好,登錄后才能下訂單哦!
這篇文章主要介紹JavaScript如何實現事件的中斷傳播和行為阻止方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
事件傳播
MicroSoft的設計是當事件在元素上觸發時,該事件將接著在該節點的父節點觸發,以此類推,事件一直沿著DOM樹向上傳播,直到到達頂層對象document元素。這種自底向上的事件傳播方式稱為“事件冒泡”,也就是事件傳播。
如何中斷事件的傳播?
stopPropagation()
w3c取消冒泡
cancleBubble = true
IE取消冒泡
取消事件默認效果:
returnValue = false
IE 取消事件效果
defaultPrevent()
w3c取消事件效果
<div id='aa'> <div id='bb'> <div id ='cc'></div> </div> </div>
#aa{ width: 600px; height: 600px; background: gray; } #bb{ width: 400px; height: 400px; background: green; } #cc{ width: 200px; height: 200px; background: red; }
捕捉寫法停止傳播 從最頂層開始往下
document.getElementById('aa').addEventListener('click',function (ev){alert('aa');ev.stopPropagation();},true);// 結果捕捉到aa 加true 由冒泡變為捕捉 從上到下 document.getElementById('bb').addEventListener('click',function (){alert('bb')},true); document.getElementById('cc').addEventListener('click',function (){alert('cc')},true);
冒泡寫法停止傳播 從下往上
document.getElementById('aa').addEventListener('click',function (){alert('aa');});//加true 由冒泡變為捕捉 從上到下 document.getElementById('bb').addEventListener('click',function (){alert('bb')}); document.getElementById('cc').addEventListener('click', function (ev){ alert('cc'); ev.stopPropagation(); // ev.cancleBubble = true;//IE下 取消冒泡方法 }); //結果是冒出cc 停止傳播 }
取消事件效果
returnValue = false
//IE 取消事件效果
preventDefault()
//w3c取消事件效果
document.getElementsByTagName('a')[0].onclick = function (ev){ alert('點擊'); //達到事件結束的效果 但是函數還是往下運行 // ev.preventDefault(); alert('已經攔截'); }
以上是“JavaScript如何實現事件的中斷傳播和行為阻止方法”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。