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

首頁 > 編程 > JavaScript > 正文

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

2019-11-20 14:14:10
字體:
來源:轉載
供稿:網友

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

HTML代碼:

<!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()

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事件冒泡的資料看看。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 登封市| 北辰区| 运城市| 南木林县| 浏阳市| 新余市| 若尔盖县| 河北区| 长丰县| 错那县| 安岳县| 惠州市| 尼勒克县| 体育| 家居| 大余县| 安徽省| 高安市| 富顺县| 张掖市| 兰考县| 固镇县| 团风县| 平原县| 宁夏| 屯门区| 共和县| 鄯善县| 宜宾市| 会昌县| 家居| 洪洞县| 兴城市| 光山县| 井冈山市| 色达县| 攀枝花市| 商河县| 榆中县| 淮北市| 无棣县|