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

首頁 > 編程 > JavaScript > 正文

js冒泡、捕獲事件及阻止冒泡方法詳細(xì)總結(jié)

2019-11-20 20:43:14
字體:
供稿:網(wǎng)友
javascript, jquery的事件中都存在事件冒泡和事件捕獲的問題,下面將兩種問題及其解決方案做詳細(xì)總結(jié)。

事件冒泡是一個(gè)從子節(jié)點(diǎn)向祖先節(jié)點(diǎn)冒泡的過程;

事件捕獲剛好相反,是從祖先節(jié)點(diǎn)到子節(jié)點(diǎn)的過程。

給一個(gè)jquery點(diǎn)擊事件的例子:

代碼如下:
復(fù)制代碼 代碼如下:

<!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 style="width:100px;height:100px;background-color:red;">
<button type="button" id="button2">click me</button>
<button id="clickMe">click</button>
</div>
</body>
</html>

事件冒泡現(xiàn)象:點(diǎn)擊 “id=clickMe” 的button,會先后出現(xiàn)“hello” 和 “baby” 兩個(gè)彈出框。

分析:當(dāng)點(diǎn)擊 “id=clickMe” 的button時(shí),觸發(fā)了綁定在button 和 button 父元素及body的點(diǎn)擊事件,所以先后彈出兩個(gè)框,出現(xiàn)所謂的冒泡現(xiàn)象。


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


在實(shí)際的項(xiàng)目中,我們要阻止事件冒泡和事件捕獲現(xiàn)象。

阻止事件冒泡方法:

法1:當(dāng)前點(diǎn)擊事件中return false;
復(fù)制代碼 代碼如下:

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

return false;
});

法2:
復(fù)制代碼 代碼如下:

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

var e = window.event || event;

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

貌似捕獲事件不能被阻止
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 延津县| 鄄城县| 扎囊县| 汨罗市| 康平县| 商洛市| 吴堡县| 师宗县| 类乌齐县| 镇安县| 武隆县| 托克逊县| 印江| 和硕县| 达尔| 廊坊市| 宁城县| 义马市| 依安县| 西吉县| 平顺县| 高唐县| 深泽县| 徐汇区| 闻喜县| 濉溪县| 瑞丽市| 微山县| 鞍山市| 西充县| 伊吾县| 康平县| 藁城市| 若尔盖县| 隆子县| 上林县| 恩平市| 芦溪县| 潍坊市| 陆川县| 阿克陶县|