av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

js HTML DOM EventListener功能與用法實(shí)例分析

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

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

DOM EventListener

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

在用戶點(diǎn)擊按鈕時(shí)觸發(fā)監(jiān)聽(tīng)事件:

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

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

可以向一個(gè)元素添加多個(gè)事件句柄。

<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>

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

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

可以向任何 DOM 對(duì)象添加事件監(jiān)聽(tīng),不僅僅是 HTML 元素。如: window 對(duì)象。

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

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

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

當(dāng)使用 addEventListener() 方法時(shí), JavaScript 從 HTML 標(biāo)記中分離開(kāi)來(lái),可讀性更強(qiáng), 在沒(méi)有控制HTML標(biāo)記時(shí)也可以添加事件監(jiān)聽(tīng)。

可以使用 removeEventListener() 方法來(lái)移除事件的監(jiān)聽(tīng)。

語(yǔ)法

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

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

事件冒泡或事件捕獲?

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

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

在 冒泡 中,內(nèi)部元素的事件會(huì)先被觸發(fā),然后再觸發(fā)外部元素,即: <p> 元素的點(diǎn)擊事件先觸發(fā),然后會(huì)觸發(fā) <div> 元素的點(diǎn)擊事件。

在 捕獲 中,外部元素的事件會(huì)先被觸發(fā),然后才會(huì)觸發(fā)內(nèi)部元素的事件,即: <div> 元素的點(diǎn)擊事件先觸發(fā) ,然后再觸發(fā) <p> 元素的點(diǎn)擊事件。

addEventListener() 方法可以指定 'useCapture' 參數(shù)來(lái)設(shè)置傳遞類型:

addEventListener(event, function, useCapture);

默認(rèn)值為 false, 即冒泡傳遞,當(dāng)值為 true 時(shí), 事件使用捕獲傳遞。

<script>document.getElementById('myP').addEventListener('click', function() { alert('你點(diǎn)擊了 P 元素!');}, false);document.getElementById('myDiv').addEventListener('click', function() { alert(' 你點(diǎn)擊了 DIV 元素 !');}, false);document.getElementById('myP2').addEventListener('click', function() { alert('你點(diǎn)擊了 P2 元素!');}, true);document.getElementById('myDiv2').addEventListener('click', function() { alert('你點(diǎn)擊了 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>瀏覽器支持

表格中的數(shù)字表示支持該方法的第一個(gè)瀏覽器的版本號(hào)。

方法 js HTML DOM EventListener功能與用法實(shí)例分析 js HTML DOM EventListener功能與用法實(shí)例分析 js HTML DOM EventListener功能與用法實(shí)例分析 js HTML DOM EventListener功能與用法實(shí)例分析 js HTML DOM EventListener功能與用法實(shí)例分析 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() 方法。但是,對(duì)于這類瀏覽器版本可以使用 detachEvent() 方法來(lái)移除事件句柄:

element.attachEvent(event, function);element.detachEvent(event, function);

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

<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代碼運(yùn)行工具:http://tools.jb51.net/code/HtmlJsRun測(cè)試上述代碼運(yùn)行效果。

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript操作DOM技巧總結(jié)》、《JavaScript頁(yè)面元素操作技巧總結(jié)》、《JavaScript事件相關(guān)操作與技巧大全》、《JavaScript查找算法技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 午夜亚洲精品 | 国产精品99久久久久久久久久久久 | av色在线| 夜夜操夜夜 | 精品视频一区二区三区 | 野外(巨肉高h) | 欧美三级韩国三级日本三斤在线观看 | 一区二区三区中文字幕 | 天堂网av在线 | 婷婷在线视频 | 精品国产精品 | 美女免费视频网站 | 日本在线免费观看 | 国产精品高潮呻吟久久 | 特级黄色大片 | 日韩欧美一区二区在线观看 | 一区二区三区四区精品 | 国产激情久久久 | 日韩欧美国产成人 | 中文字幕av一区二区三区谷原希美 | 欧美视频a| www.亚洲视频 | 91啦丨九色丨刺激 | 天天爽天天干 | 黄色一级视频免费看 | 人人艹人人 | 第一福利视频 | 国产成人免费观看 | 成人激情综合 | 宅男噜噜噜66一区二区 | 国产一区二区日韩 | 国产99在线 | 黄色大片视频 | 午夜专区| 日韩黄色小视频 | 欧美成人一级 | 中国少妇xxxxhd做受 | 亚洲专区一区 | 在线观看亚洲一区 | 日韩精品一级 | 死神来了4无删减版在线观看 |