最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js中addEventListener()與removeEventListener()用法案例分析

 更新時(shí)間:2020年03月02日 09:54:40   作者:葉落森  
這篇文章主要介紹了js中addEventListener()與removeEventListener()用法,結(jié)合實(shí)例形式分析了js中addEventListener()與removeEventListener()基本功能、用法與操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了js中addEventListener()與removeEventListener()用法。分享給大家供大家參考,具體如下:

所有的DOM節(jié)點(diǎn)中都包含addEventListener()與removeEventListener()這兩種方法,用于追加事件和刪除追加。

接受參數(shù):要處理的事件名、作為事件處理程序的函數(shù)和一個(gè)布爾值。 (3個(gè))

最后這個(gè)布爾值參數(shù)是true,表示在捕獲階段調(diào)用事件處理程序;如果是false,表示在冒泡階段調(diào)用事件處理程序。默認(rèn)為false;

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

事件傳遞定義了元素事件觸發(fā)的順序。 如果你將 <p> 元素插入到 <div> 元素中,用戶(hù)點(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)擊事件。

假如在一個(gè)按鈕上添加一個(gè)點(diǎn)擊事件,代碼如下:

var btn = document.getElementById("myBtn");
btn.addEventListener("click", function () {
  alert(this.id);
}, false);

使用DOM2級(jí)方法添加事件處理程序的主要好處是可以添加多個(gè)事件處理程序。來(lái)看下面的例子:

var btn = document.getElementById("myBtn");
btn.addEventListener("click", function () {
  alert(this.id);
}, false);
btn.addEventListener("click", function () {
  alert("Hello World");
}, false);

通過(guò)addEventListener()添加的事件處理程序只能使用removeEventListener()來(lái)移除;移除時(shí)傳入的參數(shù)與添加處理程序時(shí)使用的參數(shù)相同。通過(guò)addEventListener()添加的匿名函數(shù)無(wú)法移除,如下面的例子所示:

var btn = document.getElementById("myBtn");
btn.addEventListener("click", function () {
  alert(this.id);
}, false);
btn.removeEventListener("click", function () { //無(wú)效!
  alert(this.id);
}, false);

在這個(gè)例子中,removeEventListener無(wú)法刪除addEventListener所追加的事件,因?yàn)閮蓚€(gè)方法并不相等,內(nèi)存地址已經(jīng)是不同的,如下面的例子所示:

var btn = document.getElementById("myBtn");
var handler = function () {
     alert(this.id);
   };
btn.addEventListener("click", handler, false);
btn.removeEventListener("click", handler, false); //有效!

案例:

<div id="myDIV"> div 元素添加了 onmousemove 事件句柄,鼠標(biāo)在桔紅色的框內(nèi)移動(dòng)時(shí)會(huì)顯示隨機(jī)數(shù)。
 <p>點(diǎn)擊按鈕移除 DIV 的事件句柄。</p>
 <button onclick="removeHandler()" id="myBtn">點(diǎn)我</button>
</div>
<p id="demo"></p>
<script>
document.getElementById("myDIV").addEventListener("mousemove", myFunction);
function myFunction() {
  document.getElementById("demo").innerHTML = Math.random();
}
function removeHandler() {
  document.getElementById("myDIV").removeEventListener("mousemove", myFunction);
}
</script>

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

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《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ì)有所幫助。

相關(guān)文章

  • 非常不錯(cuò)的不間斷循環(huán)滾動(dòng)類(lèi) 兼容多瀏覽器

    非常不錯(cuò)的不間斷循環(huán)滾動(dòng)類(lèi) 兼容多瀏覽器

    非常不錯(cuò)的不間斷循環(huán)滾動(dòng)類(lèi) 兼容多瀏覽器...
    2006-12-12
  • 遍歷DOM對(duì)象內(nèi)的元素屬性示例代碼

    遍歷DOM對(duì)象內(nèi)的元素屬性示例代碼

    如何遍歷DOM對(duì)象內(nèi)的元素屬性,例如要獲取一個(gè)id為btn的按鈕的所有屬性該怎么實(shí)現(xiàn)呢?下面有個(gè)不錯(cuò)的教程,大家可以參考下
    2014-02-02
  • Google 爬蟲(chóng)如何抓取 JavaScript 的內(nèi)容

    Google 爬蟲(chóng)如何抓取 JavaScript 的內(nèi)容

    我們測(cè)試了谷歌爬蟲(chóng)是如何抓取 JavaScript,下面就是我們從中學(xué)習(xí)到的知識(shí),需要的朋友可以參考下
    2017-04-04
  • js實(shí)現(xiàn)的動(dòng)畫(huà)導(dǎo)航菜單效果代碼

    js實(shí)現(xiàn)的動(dòng)畫(huà)導(dǎo)航菜單效果代碼

    這篇文章主要介紹了js實(shí)現(xiàn)的動(dòng)畫(huà)導(dǎo)航菜單效果代碼,涉及JavaScript通過(guò)鼠標(biāo)事件控制頁(yè)面元素樣式動(dòng)態(tài)變換的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-09-09
  • javascript動(dòng)態(tài)添加刪除tabs標(biāo)簽的方法

    javascript動(dòng)態(tài)添加刪除tabs標(biāo)簽的方法

    這篇文章主要介紹了javascript動(dòng)態(tài)添加刪除tabs標(biāo)簽的方法,實(shí)例分析了javascript針對(duì)tabs標(biāo)簽的動(dòng)態(tài)添加與刪除方法,涉及javascript頁(yè)面元素的操作技巧,需要的朋友可以參考下
    2015-07-07
  • 淺談在fetch方法中添加header后遇到的預(yù)檢請(qǐng)求問(wèn)題

    淺談在fetch方法中添加header后遇到的預(yù)檢請(qǐng)求問(wèn)題

    下面小編就為大家?guī)?lái)一篇淺談在fetch方法中添加header后遇到的預(yù)檢請(qǐng)求問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • 使用JavaScript截取視頻特定幀的實(shí)現(xiàn)方法

    使用JavaScript截取視頻特定幀的實(shí)現(xiàn)方法

    在網(wǎng)頁(yè)開(kāi)發(fā)中,我們經(jīng)常需要對(duì)媒體文件進(jìn)行處理,其中包括視頻文件,有時(shí)候,我們可能需要從視頻中提取特定的幀,并將其顯示在網(wǎng)頁(yè)上,本文將介紹如何使用JavaScript來(lái)實(shí)現(xiàn)這一功能,感興趣的朋友跟著小編一起來(lái)看看吧
    2024-05-05
  • ???????分享7?個(gè)實(shí)用?TypeScript?單行代碼

    ???????分享7?個(gè)實(shí)用?TypeScript?單行代碼

    這篇文章主要介紹了???????分享7?個(gè)實(shí)用?TypeScript?單行代碼,其中包括泛型、斷言等高級(jí)用法,需要的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助
    2022-05-05
  • Three.js中矩陣和向量的使用教程

    Three.js中矩陣和向量的使用教程

    這篇文章主要給大家介紹了關(guān)于Three.js中矩陣和向量使用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Three.js具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • JavaScript 下載svg圖片為png格式

    JavaScript 下載svg圖片為png格式

    這篇文章主要介紹了JavaScript 下載svg圖片為png格式,本文通過(guò)代碼給大家講解的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-06-06

最新評(píng)論

阿荣旗| 大洼县| 邢台县| 庆安县| 黄浦区| 安乡县| 綦江县| 万安县| 巴塘县| 湘西| 大名县| 潜江市| 绥德县| 景洪市| 张家川| 屯昌县| 隆林| 阿拉善盟| 吉木萨尔县| 永靖县| 黎川县| 墨脱县| 南昌县| 敦化市| 栾川县| 嘉禾县| 天祝| 革吉县| 固始县| 疏附县| 息烽县| 柳河县| 徐水县| 太湖县| 巩义市| 平潭县| 城口县| 桐庐县| 将乐县| 绥中县| 色达县|