以前学JS的时辰对捕捉和冒泡事务一向都感觉难于理解,也找过良多资料,但那些年夜多都是让人看不大白的。此刻我就用一种比力直不雅的方式描述捕捉和冒泡事务模子。
捕捉事务就像你折开一个层层包裹的礼品盒,拆开一层没有看到就继续拆,直到拆到为止
冒泡事务刚好和捕捉事务相反
这里就经由过程一个例子让你更直不雅地领会冒泡事务和捕捉事务,完整代码如下:
<!DOCTYPE html>
<html>
<head>
<style>
#a {
width: 500px;
height: 500px;
background: #373841
}
#b {
width: 200px;
height: 200px;
background: #616374
}
</style>
</head>
<body>
<div id="a">
<div id="b"></div>
</div>
</body>
<script>
//函数
var fa = function () {
alert("a");
}
var fb = function () {
alert("b");
}
//A
var A = document.getElementById("a");
A.addEventListener("click", fa, false);
//B
var B = document.getElementById("b");
B.addEventListener("click", fb, false);
</script>
</html>
事务监听器以冒泡的体例注册(false便是开启了冒泡体例,注重例子中的addEventListener不兼容IE)
运行代码,会发现最先弹出“b”,申明最先触发了最底层的B元素:
点击确定,会弹出"a",申明继B元素之后,触发了A元素
如斯可以看出冒泡事务便是从事务所能触发的最底层元素起头的,然后往上逐层触发事务。
捕捉事务则好和它相反。
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!