国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

js HTML DOM EventListener功能與用法實例分析

瀏覽:103日期:2024-05-11 16:12:28

本文實例講述了js HTML DOM EventListener功能與用法。分享給大家供大家參考,具體如下:

DOM EventListener

用于向指定元素添加事件句柄。

在用戶點擊按鈕時觸發監聽事件:

document.getElementById(’myBtn’).addEventListener(’click’, displayDate);

addEventListener() 方法添加的事件句柄不會覆蓋已存在的事件句柄。

可以向一個元素添加多個事件句柄。

<script>var x = document.getElementById('myBtn');x.addEventListener('mouseover', myFunction);x.addEventListener('click', mySecondFunction);x.addEventListener('mouseout', myThirdFunction);function myFunction() { document.getElementById('demo').innerHTML += 'Moused over!<br>'}function mySecondFunction() { document.getElementById('demo').innerHTML += 'Clicked!<br>'}function myThirdFunction() { document.getElementById('demo').innerHTML += 'Moused out!<br>'}</script>

可以向同個元素添加多個同類型的事件句柄,如:兩個 'click' 事件。

<script>var x = document.getElementById('myBtn');x.addEventListener('click', myFunction);x.addEventListener('click', someOtherFunction);function myFunction() { alert ('Hello World!')}function someOtherFunction() { alert ('函數已執行!')}</script>

可以向任何 DOM 對象添加事件監聽,不僅僅是 HTML 元素。如: window 對象。

addEventListener() 方法允許你在 HTML DOM 對象添加事件監聽, HTML DOM 對象如: HTML 元素, HTML 文檔, window 對象。或者其他支出的事件對象如: xmlHttpRequest 對象

<script>window.addEventListener('resize', function(){ document.getElementById('demo').innerHTML = Math.random();});</script>

addEventListener() 方法可以更簡單的控制事件(冒泡與捕獲)。

當使用 addEventListener() 方法時, JavaScript 從 HTML 標記中分離開來,可讀性更強, 在沒有控制HTML標記時也可以添加事件監聽。

可以使用 removeEventListener() 方法來移除事件的監聽。

語法

element.addEventListener(event, function, useCapture); 第一個參數是事件的類型 (如 'click' 或 'mousedown'). 第二個參數是事件觸發后調用的函數。 第三個參數是個布爾值用于描述事件是冒泡還是捕獲。該參數是可選的。

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

事件冒泡或事件捕獲?

事件傳遞有兩種方式:冒泡與捕獲。

事件傳遞定義了元素事件觸發的順序。 如果你將 <p> 元素插入到 <div> 元素中,用戶點擊 <p> 元素, 哪個元素的 'click' 事件先被觸發呢?

在 冒泡 中,內部元素的事件會先被觸發,然后再觸發外部元素,即: <p> 元素的點擊事件先觸發,然后會觸發 <div> 元素的點擊事件。

在 捕獲 中,外部元素的事件會先被觸發,然后才會觸發內部元素的事件,即: <div> 元素的點擊事件先觸發 ,然后再觸發 <p> 元素的點擊事件。

addEventListener() 方法可以指定 'useCapture' 參數來設置傳遞類型:

addEventListener(event, function, useCapture);

默認值為 false, 即冒泡傳遞,當值為 true 時, 事件使用捕獲傳遞。

<script>document.getElementById('myP').addEventListener('click', function() { alert('你點擊了 P 元素!');}, false);document.getElementById('myDiv').addEventListener('click', function() { alert(' 你點擊了 DIV 元素 !');}, false);document.getElementById('myP2').addEventListener('click', function() { alert('你點擊了 P2 元素!');}, true);document.getElementById('myDiv2').addEventListener('click', function() { alert('你點擊了 DIV2 元素 !');}, true);</script>removeEventListener() 方法

removeEventListener() 方法移除由 addEventListener() 方法添加的事件句柄:

<script>document.getElementById('myDIV').addEventListener('mousemove', myFunction);function myFunction() { document.getElementById('demo').innerHTML = Math.random();}function removeHandler() { document.getElementById('myDIV').removeEventListener('mousemove', myFunction);}</script>瀏覽器支持

表格中的數字表示支持該方法的第一個瀏覽器的版本號。

方法 js HTML DOM EventListener功能與用法實例分析 js HTML DOM EventListener功能與用法實例分析 js HTML DOM EventListener功能與用法實例分析 js HTML DOM EventListener功能與用法實例分析 js HTML DOM EventListener功能與用法實例分析 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);

例:該實例演示了所有瀏覽器兼容的解決方法

<script>var x = document.getElementById('myBtn');if (x.addEventListener) { x.addEventListener('click', myFunction);} else if (x.attachEvent) { x.attachEvent('onclick', myFunction);}function myFunction() { alert('Hello World!');}</script>

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript操作DOM技巧總結》、《JavaScript頁面元素操作技巧總結》、《JavaScript事件相關操作與技巧大全》、《JavaScript查找算法技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript錯誤與調試技巧總結》

希望本文所述對大家JavaScript程序設計有所幫助。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 国产深夜福利视频网站在线观看 | 久久国产视频网 | 久久精品一区二区影院 | 成年视频国产免费观看 | 精品无码久久久久国产 | 久久不见久久见免费影院www日本 | 撸天堂 | 欧美精品成人久久网站 | 在线亚洲精品视频 | 欧美三级不卡视频 | 欧美精品午夜久久久伊人 | 欧美成人乱弄视频 | 亚洲在线久久 | 国产网站黄色 | 国产一级生活片 | 成人永久免费视频网站在线观看 | 日本无卡码免费一区二区三区 | 特级黄色毛片视频 | 亚洲日本精品 | 成年人在线观看网站 | 美女黄色在线看 | 中国国语毛片免费观看视频 | 国产日韩欧美在线观看播放 | 一级黄色α片 | 亚洲视频免费一区 | 亚洲三级免费观看 | 国产精品国产国产aⅴ | 国产在线观看精品一区二区三区91 | 国产男女免费视频 | 九九热久久免费视频 | 日韩久久影院 | 久久经典视频 | 最新国产午夜精品视频不卡 | 亚洲精品视频免费 | 中文字幕国产亚洲 | 91资源在线观看 | 欧美一级特黄特黄毛片 | 亚洲成人在线播放 | 日韩精品一区二区三区在线观看l | 免费国产午夜高清在线视频 | 在线精品国产三级 |