<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # JavaScript HTML DOM EventListener ## addEventListener() 方法 ## 實例 點用戶點擊按鈕時觸發監聽事件: ``` document.getElementById("myBtn").addEventListener("click", displayDate); ``` addEventListener() 方法用于向指定元素添加事件句柄。 addEventListener() 方法添加的事件句柄不會覆蓋已存在的事件句柄。 你可以向一個元素添加多個事件句柄。 你可以向同個元素添加多個同類型的事件句柄,如:兩個 "click" 事件。 你可以向任何 DOM 對象添加事件監聽,不僅僅是 HTML 元素。如: window 對象。 addEventListener() 方法可以更簡單的控制事件(冒泡與捕獲)。 當你使用 addEventListener() 方法時, JavaScript 從 HTML 標記中分離開來,可讀性更強, 在沒有控制HTML標記時也可以添加事件監聽。 你可以使用 removeEventListener() 方法來移除事件的監聽。 ## 語法 _element_.addEventListener(_event, function, useCapture_); 第一個參數是事件的類型 (如 "click" 或 "mousedown"). 第二個參數是事件觸發后調用的函數。 第三個參數是個布爾值用于描述事件是冒泡還是捕獲。該參數是可選的。 > ![](https://box.kancloud.cn/2015-12-12_566b901025f8f.jpg) > 注意:不要使用 "on" 前綴。 例如,使用 "click" ,而不是使用 "onclick"。 ## 向原元素添加事件句柄 ## 實例 當用戶點擊元素時彈出 "Hello World!" : ``` _element_.addEventListener("click", function(){ alert("Hello World!"); }); ``` 你可以使用函數名,來引用外部函數: ## 實例 當用戶點擊元素時彈出 "Hello World!" : ``` _element_.addEventListener("click", myFunction); function myFunction() { ??? alert ("Hello World!"); } ``` ## 向同一個元素中添加多個事件句柄 addEventListener() 方法允許向同個元素添加多個事件,且不會覆蓋已存在的事件: ## 實例 ``` _element_.addEventListener("click", myFunction); _element_.addEventListener("click", mySecondFunction); ``` 你可以向同個元素添加不同類型的事件: ## 實例 ``` _element_.addEventListener("mouseover", myFunction); _element_.addEventListener("click", mySecondFunction); _element_.addEventListener("mouseout", myThirdFunction); ``` ## 向 Window 對象添加事件句柄 addEventListener() 方法允許你在 HTML DOM 對象添加事件監聽, HTML DOM 對象如: HTML 元素, HTML 文檔, window 對象。或者其他支出的事件對象如: xmlHttpRequest 對象。 ## 實例 當用戶重置窗口大小時添加事件監聽: ``` window.addEventListener("resize", function(){ ????document.getElementById("demo").innerHTML = _sometext_; }); ``` ## 傳遞參數 當傳遞參數值時,使用"匿名函數"調用帶參數的函數: ## 實例 ``` _element_.addEventListener("click", function(){ myFunction(p1, p2); }); ``` ## 事件冒泡或事件捕獲? 事件傳遞有兩種方式:冒泡與捕獲。 事件傳遞定義了元素事件觸發的順序。 如果你將 &lt;p&gt; 元素插入到 &lt;div&gt; 元素中,用戶點擊 &lt;p&gt; 元素, 哪個元素的 "click" 事件先被觸發呢? 在 _冒泡_ 中,內部元素的事件會先被觸發,然后再觸發外部元素,即: &lt;p&gt; 元素的點擊事件先觸發,然后會觸發 &lt;div&gt; 元素的點擊事件。 在 _捕獲_ 中,外部元素的事件會先被觸發,然后才會觸發內部元素的事件,即: &lt;div&gt; 元素的點擊事件先觸發 ,然后再觸發 &lt;p&gt; 元素的點擊事件。 addEventListener() 方法可以指定 "useCapture" 參數來設置傳遞類型: addEventListener(_event_, _function_, _useCapture_); 默認值為 false, 及冒泡傳遞,當值為 true 時, 事件使用捕獲傳遞。 ## 實例 ``` document.getElementById("myDiv").addEventListener("click", myFunction, true); ``` ## removeEventListener() 方法 removeEventListener() 方法移除由 addEventListener() 方法添加的事件句柄: ## 實例 ``` _element_.removeEventListener("mousemove", myFunction); ``` ## 瀏覽器支持 表格中的數字表示支持該方法的第一個瀏覽器的版本號。 | 方法 | | --- | --- | | addEventListener() | 1.0 | 9.0 | 1.0 | 1.0 | 7.0 | | removeEventListener() | 1.0 | 9.0 | 1.0 | 1.0 | 7.0 | **注意:** IE 8 及更早 IE 版本,Opera 7.0及其更早版本不支持 addEventListener() 和 removeEventListener() 方法。但是,對于這類瀏覽器版本可以使用 detachEvent() 方法來移除事件句柄: _element.attachEvent(event, function); element.detachEvent(event, function);_ ## 實例 跨瀏覽器解決方法: ``` var x = document.getElementById("myBtn"); if (x.addEventListener) {??????????????????? // 所有主流瀏覽器,除了 IE 8 及更早版本 ??? x.addEventListener("click", myFunction); } else if (x.attachEvent) {????????????????? // IE 8 及更早版本 ??? x.attachEvent("onclick", myFunction); } ``` ## HTML DOM 事件對象參考手冊 所有 HTML DOM 事件,可以查看我們完整的 [HTML DOM Event 對象參考手冊](/jsref/dom-obj-event.html)。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看