stopPropagation() 阻止事件冒泡

admin發表於2018-11-02

此方法可以阻止事件冒泡現象。

關於事件冒泡可以參閱JavaScript 事件冒泡一章節。

語法結構:

[JavaScript] 純文字檢視 複製程式碼
event.stopPropagation();

瀏覽器支援:

(1).IE9+瀏覽器支援此方法。

(2).edge瀏覽器支援此方法。

(3).谷歌瀏覽器支援此方法。

(4).opera瀏覽器支援此方法。

(5).火狐瀏覽器支援此方法。

(6).safria瀏覽器支援此方法。

程式碼例項:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style>
#box{
  width:400px;
  height:200px;
  background:red;
}
#inner{
  width:200px;
  height:100px;
  margin:0px auto;
  background:green;
}
</style>
<script>
window.onload=function(){
  let obox=document.getElementById("box");
  let oinner=document.getElementById("inner");
  let oshow=document.getElementById("show");
  let str="";
  obox.onclick=function(){
    str=str+"<br/>父元素click事件觸發";
    oshow.innerHTML=str;
  }
  oinner.onclick=function(ev){
      ev.stopPropagation()
  }
}
</script>
</head>
<body>
<div id="box">
  <div id="inner"></div>
</div>
<div id="show"></div>
</body>
</html>

使用stopPropagation方法可以阻止事件子div元素的事件冒泡。

所以點選子div不會觸發父元素的click事件,也就不會執行對應的事件處理函式。

相關文章