<div id= "Id1" style= "width:200px; height:200px; Position:absolute; top:100px; left:100px; Background-color:blue; Z-index:4 "> <div id=" Id2 "style=" width:200px; height:200px; position:absolute; top:20px; left:70px; Background-color:green; Z-index:1 "></div> </div>
The third parameter in AddEventListener is Usecapture, a bool type. When False for Bubbling gets (by the inward), true is the capture mode (by the outside).
document.getElementById (' Id1 '). AddEventListener (' click ', Function () {console.log (' id1 ');}, False); document.getElementById (' Id2 '). AddEventListener (' click ', Function () {console.log (' Id2 ');}, False);
Click Id2 's div result is: id2, ID1
document.getElementById (' Id1 '). AddEventListener (' click ', Function () {console.log (' id1 ');}, False); document.getElementById (' Id2 '). AddEventListener (' click ', Function () {console.log (' Id2 ');}, True);
The result is: Id1,id2
DOM Methods AddEventListener () and RemoveEventListener () are functions that are used to assign and delete events . Both of these methods require three parameters, respectively:
The event name (String), the event handler function (function) to fire, the period or phase (Boolean) that specifies the event handler.
Dom Event flow (cut from JavaScript advanced programming):
The image shows that the capture process precedes the bubbling process
When the third parameter is set to True, it is executed during the capture process, and the handler function is executed during the bubbling process.