更新時間:2021-04-27 來源:黑馬程序員 瀏覽量:
1、什么是事件冒泡,他是如何工作的
在一個對象上觸發(fā)某類事件(比如單擊onclick事件),如果此對象定義了此事件的處理程序,那么此事件就會調(diào)用這個處理程序,如果沒有定義此事件處理程序或者事件返回true,那么這個事件會向這個對象的父級對象傳播,從里到外,直至它被處理(父級對象所有同類事件都將被激活),或者它到達了對象層次的最頂層,即document對象(有些瀏覽器是window)。
2、阻止事件冒泡的方法
(1)w3c方法是:event.stopPropagation(); 事件處理過程中,阻止冒泡事件,但不會阻止默認行為(跳轉(zhuǎn)至超鏈接)
(2)IE則是使用event.cancelBubble = true 阻止事件冒泡
(3)return false; jq里面事件處理過程中,阻止冒泡事件,也阻止默認行為(不跳轉(zhuǎn)超鏈接)
封裝方法:
function bubbles(e){
var ev = e || window.event;
if(ev && ev.stopPropagation) {
//非IE瀏覽器
ev.stopPropagation();
} else {
//IE瀏覽器(IE11以下)
ev.cancelBubble = true;
}
console.log("最底層盒子被點擊了")
}阻止默認行為:
w3c的方法是e.preventDefault(),IE則是使用e.returnValue = false;
封裝:
//假定有鏈接<a href="http://caibaojian.com/" id="testA" >caibaojian.com</a>
var a = document.getElementById("testA");
a.onclick =function(e){
if(e.preventDefault){
e.preventDefault();
}else{
window.event.returnValue == false;
}
}
猜你喜歡:
1024首播|39歲程序員逆襲記:不被年齡定義,AI浪潮里再迎春天
2025-10-241024程序員節(jié)丨10年同行,致敬用代碼改變世界的你
2025-10-24【AI設(shè)計】北京143期畢業(yè)僅36天,全員拿下高薪offer!黑馬AI設(shè)計連續(xù)6期100%高薪就業(yè)
2025-09-19【跨境電商運營】深圳跨境電商運營畢業(yè)22個工作日,就業(yè)率91%+,最高薪資達13500元
2025-09-19【AI運維】鄭州運維1期就業(yè)班,畢業(yè)14個工作日,班級93%同學已拿到Offer, 一線均薪資 1W+
2025-09-19【AI鴻蒙開發(fā)】上海校區(qū)AI鴻蒙開發(fā)4期5期,距離畢業(yè)21天,就業(yè)率91%,平均薪資14046元
2025-09-19