基于函數(shù)執(zhí)行的踩坑(addEventListener)
記錄一次踩坑經(jīng)歷
寫(xiě)法一
const outer = function () { var x = "我是外面函數(shù)的變量"; console.log('我現(xiàn)在要在外層被調(diào)用'); return function () { console.log(x); } }; document.addEventListener('scroll', outer)
結(jié)果:
寫(xiě)法二
const outer = function () { var x = "我是外面函數(shù)的變量"; console.log('我現(xiàn)在要在外層被調(diào)用'); return function () { console.log(x); } }; document.addEventListener('scroll', outer())
結(jié)果:
兩種寫(xiě)法在于第二種寫(xiě)法在事件綁定的時(shí)候默認(rèn)的執(zhí)行了一次outer,所以得到的是inner函數(shù)了,以后翻頁(yè)執(zhí)行的是inner函數(shù)
.addEventListener添加事件失敗原因之一
正確語(yǔ)法
document.getElementById("myBtn").addEventListener("click", function(){ ? ? document.getElementById("demo").innerHTML = "Hello World"; });
addEventListener() 方法用于向指定元素添加事件句柄。
注意,這個(gè)指定元素是一個(gè)元素,所以當(dāng)使用document.getElementsByClassName();來(lái)獲取對(duì)象然后再添加事件的時(shí)候就會(huì)失效,因?yàn)樗@取的是一個(gè)數(shù)組對(duì)象。
錯(cuò)誤語(yǔ)法
document.getElementsByClassName("myBtn").addEventListener("click", function(){ ? ? document.getElementById("demo").innerHTML = "Hello World"; });
當(dāng)然,對(duì)應(yīng)數(shù)組對(duì)象,要訪問(wèn)其中的一個(gè)元素,我們要加上數(shù)字角標(biāo)。
使用方式為:
var x = document.getElementsByClassName(); x[0].innerHTML = 'nihao';
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
屏蔽鼠標(biāo)右鍵、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格鍵
js 防止刷新網(wǎng)頁(yè)、禁止后退,右鍵等操作的代碼2010-03-03Cropper.js進(jìn)階之實(shí)現(xiàn)圓形頭像裁剪功能示例
這篇文章主要為大家介紹了Cropper.js進(jìn)階之實(shí)現(xiàn)圓形頭像裁剪功能示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05javascript Prototype 對(duì)象擴(kuò)展
從對(duì)象創(chuàng)建一個(gè)實(shí)例說(shuō)起來(lái)貌似是很簡(jiǎn)單的東西,是啊,基本在所有的語(yǔ)言中,都是用new關(guān)鍵字來(lái)創(chuàng)建實(shí)例的2009-05-05檢查輸入的是否是數(shù)字使用keyCode配合onkeypress事件
檢查輸入的是否是數(shù)字在本文使用keyCode配合onkeypress事件來(lái)實(shí)現(xiàn),具體示例如下2014-01-01JS從數(shù)組中隨機(jī)獲取一個(gè)值的常用寫(xiě)法
這篇文章主要介紹了JS從數(shù)組中隨機(jī)獲取一個(gè)值的常用寫(xiě)法,需要的朋友可以參考下2023-07-07JavaScript中關(guān)鍵字?var、let、const的區(qū)別詳解
在JavaScript中,var、let和const是用于聲明變量的關(guān)鍵字,它們之間存在一些區(qū)別,這篇文章就給大家詳細(xì)介紹一下它們之間的區(qū)別,文章通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下2023-08-08