addEventListener() 方法,事件監聽


知識點1:addEventListener() 方法,事件監聽,可以使用 removeEventListener() 方法來移除事件的監聽。

語法

element.addEventListener(event, function, useCapture);

第一個參數是事件的類型 (如 "click" 或 "mousedown").

第二個參數是事件觸發后調用的函數。

第三個參數是個布爾值用於描述事件是冒泡還是捕獲。該參數是可選的,默認是false。

注意:不要使用 "on" 前綴。 例如,使用 "click" ,而不是使用 "onclick"。

 

 

知識點2:當一個事件發生時,分為三個階段:

捕獲階段 從根節點開始順序而下至目標節點,檢測每個節點是否注冊了事件處理程序。如果注冊了事件處理程序,並且 useCapture 為 true,則調用該事件處理程序。(IE 中無此階段。)

目標階段 觸發在目標對象本身注冊的事件處理程序,也稱正常事件派發階段。

冒泡階段 從目標節點到根節點,檢測每個節點是否注冊了事件處理程序,如果注冊了事件處理程序,並且 useCapture 為 false,則調用該事件處理程序。

<div  id="out" style="width:500px;height:200px;margin:100px auto;border:1px solid #ccc;">
      <div id="middle" style="width:300px;border:1px solid #ccc;margin: 20px auto;height:100px">
            <div id="myBtn" style="width:200px;border:1px solid #ccc;margin: 20px auto;">測試監聽事件</div>
      </div>
      <div id="demo"></div>
</div>

js

var p1 = 5;
        var p2 = 7;
        document.getElementById("myBtn").addEventListener("click", function() {
            console.log("里面")
            myFunction(p1, p2);
        },false);
        document.getElementById("middle").addEventListener("click", function() {
            console.log("中間")
            myFunction(3,4);
        },true);
        document.getElementById("out").addEventListener("click", function() {
            console.log("外面")
            myFunction(3,4);
        },false);
        function myFunction(a, b) {
            var result = a * b;
            document.getElementById("demo").innerHTML = result;
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM