国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

js冒泡、捕獲事件及阻止冒泡方法詳細總結

2024-05-06 16:05:32
字體:
來源:轉載
供稿:網友
javascript, jquery的事件中都存在事件冒泡和事件捕獲的問題,針對這兩個問題,本文給出詳細的解決方法,需要的朋友不要錯過

javascript, jquery的事件中都存在事件冒泡和事件捕獲的問題,下面將兩種問題及其解決方案做詳細總結。

事件冒泡是一個從子節點向祖先節點冒泡的過程;

事件捕獲剛好相反,是從祖先節點到子節點的過程。

給一個jquery點擊事件的例子:

代碼如下:

復制代碼 代碼如下:


<!DOCTYPE html>
<meta charset="utf-8">
<title>test</title>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(function(){
$('#clickMe').click(function(){
alert('hello');
});
$('body').click(function(){
alert('baby');
});
});
</script>
</head>
<body>
<div>
<button type="button">click me</button>
<button>click</button>
</div>
</body>
</html>


事件冒泡現象:點擊 “id=clickMe” 的button,會先后出現“hello” 和 “baby” 兩個彈出框。

分析:當點擊 “id=clickMe” 的button時,觸發了綁定在button 和 button 父元素及body的點擊事件,所以先后彈出兩個框,出現所謂的冒泡現象。


事件捕獲現象:點擊沒有綁定點擊事件的div和 “id=button2” 的button, 都會彈出 “baby” 的對話框。


在實際的項目中,我們要阻止事件冒泡和事件捕獲現象。

阻止事件冒泡方法:

法1:當前點擊事件中return false;

復制代碼 代碼如下:


$('#clickMe').click(function(){
alert('hello');

return false;
});


法2:

復制代碼 代碼如下:


$('#clickMe').click(function(event){
alert('hello');

var e = window.event || event;

if ( e.stopPropagation ){ //如果提供了事件對象,則這是一個非IE瀏覽器
e.stopPropagation();
}else{
//兼容IE的方式來取消事件冒泡
window.event.cancelBubble = true;
}
});


貌似捕獲事件不能被阻止
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 会泽县| 巍山| 商丘市| 秀山| 濉溪县| 宝山区| 昭平县| 沾化县| 咸丰县| 峨山| 衡水市| 巧家县| 班玛县| 普兰店市| 渝中区| 阿巴嘎旗| 长岛县| 阳信县| 肃北| 苍梧县| 洪洞县| 塔城市| 龙门县| 新乐市| 北碚区| 都兰县| 阿拉善左旗| 琼结县| 忻州市| 屏山县| 巨野县| 阿拉善左旗| 云南省| 宝兴县| 霍邱县| 沙湾县| 盱眙县| 阿克苏市| 五常市| 武陟县| 峨眉山市|