一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務器之家 - 編程語言 - JavaScript - JavaScript中使用stopPropagation函數停止事件傳播例子

JavaScript中使用stopPropagation函數停止事件傳播例子

2021-02-27 17:28JavaScript教程網 JavaScript

這篇文章主要介紹了JavaScript中使用stopPropagation函數停止事件傳播例子,即阻止事件冒泡的一個方法,需要的朋友可以參考下

JS中的事件默認是冒泡方式,逐層往上傳播,可以通過stopPropagation()函數停止事件在DOM層次中的傳播。如以下例子:

HTML代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>stopPropagation()使用 - 瓊臺博客</title>
</head>
<body>
<button>button</button>
</body>
</html>
[/code]
沒有加stopPropagation()
[code]
var button = document.getElementsByTagName('button')[0];
button.onclick=function(event){
  alert('button click');
};
 
document.body.onclick=function(event){
  alert('body click');
}

DOM逐層往上傳播,所以單擊button按鈕也傳播到了body層,于是body層的click也響應了。結果彈出兩個警告框,分別是button與body。

加了stopPropagation()

?
1
2
3
4
5
6
7
8
9
10
var button = document.getElementsByTagName('button')[0];
button.onclick=function(event){
  alert('button click');
  // 停止DOM事件層次傳播
  event.stopPropagation();
};
 
document.body.onclick=function(event){
  alert('body click');
}

在button的單擊事件處理函數中使用了stopPropagation()停止事件傳播函數,所以在彈出來自button單擊事件的警告框以后就傳播不到body,也就不會再次彈出body的警告框,結果只談一次警告框。

好多童鞋在寫JS的時候,往往忽視了DOM事件逐層往上傳播的特性,導致程序出現異常。如果需要了解更深入的知識可以找找有關JS事件冒泡的資料看看。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美大陆日韩一区二区三区 | 成人亚洲精品一区 | 午夜免费无码福利视频麻豆 | 日韩高清一区二区 | 亚洲AV永久无码精品老司机蜜桃 | 乌克兰17一18处交 | 精品亚洲麻豆1区2区3区 | 欧美日韩国产最新一区二区 | 操儿子| 成年人福利| 色交视频| 人人爱天天做夜夜爽88 | 日韩亚洲欧美理论片 | 99久久国产综合精品女不卡 | 国产成人综合亚洲亚洲欧美 | 青青色在线观看 | 欧美a级在线 | 欧美同性gayvidoes | 天天射夜夜爽 | chinaese中国女人厕所小便 | 日本sss| 国产欧美亚洲精品第一页青草 | 色婷亚洲| 国产欧美在线播放 | 日本又黄又裸一级大黄裸片 | 国产亚洲精品一区二区在线播放 | 国产品精人成福利视频 | 91国语精品自产拍在线观看一 | 午夜无码片在线观看影院 | 91精品国产麻豆国产自产在线 | 欧美人畜| 日本成熟bbxxxxxxxx | 女bbbbxxxx视频| 亚洲高清中文字幕 | 成人女人天堂午夜视频 | 精品综合一区二区三区 | 国产资源一区 | 日本邪恶动态 | 91久久偷偷做嫩草影院免费 | h玉足嫩脚嗯啊白丝 | 国产成人在线视频 |