欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于函數(shù)執(zhí)行的踩坑(addEventListener)

 更新時(shí)間:2023年01月21日 09:05:37   作者:烯烴@  
這篇文章主要介紹了基于函數(shù)執(zhí)行的踩坑(addEventListener),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

記錄一次踩坑經(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é)果:

method1

寫(xiě)法二

const outer = function () {
            var x = "我是外面函數(shù)的變量";

            console.log('我現(xiàn)在要在外層被調(diào)用');

            return function () {
                console.log(x);
            }
        };

        document.addEventListener('scroll', outer())

結(jié)果:

method2

兩種寫(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)文章

最新評(píng)論