2021-09-24
学如逆水行舟,不进则退
事件冒泡 点击元素之后,事件从下往上触发
事件捕获 点击元素之后,事件从上往下触发
<body> <div id="box1"> <button type="button1" id="btn1">事件冒泡</button> </div> <div id="box2"> <button type="button2" id="btn2">事件捕获</button> </div> <script type="text/javascript"> //事件冒泡 先弹出btn再弹出box var box1=document.getElementById("box1"), btn1=document.getElementById("btn1"); box1.addEventListener("click",function(){ alert("我是box"); }); btn1.addEventListener("click",function(){ alert("我是btn"); }); //事件捕获 先弹出box再弹出btn var box2=document.getElementById("box2"), btn2=document.getElementById("btn2"); box2.addEventListener("click",function(){ alert("我是box"); },true); btn2.addEventListener("click",function(){ alert("我是btn"); },true); </script> </body>
事件委托 利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件
<body> <ul id="parent"> <li id="one">one</li> <li id="two">two</li> <li id="three">three</li> </ul> <script type="text/javascript"> var parent=document.getElementById("parent"); parent.addEventListener("click",function(event){ if(event.target.id=="one"){ alert("one"); }else if(event.target.id=="two"){ alert("two"); }else if(event.target.id=="three"){ alert("three"); } }); </script> </body>