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

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

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

記錄一次踩坑經(jīng)歷

寫法一

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

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

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

        document.addEventListener('scroll', outer)

結(jié)果:

method1

寫法二

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

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

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

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

結(jié)果:

method2

兩種寫法在于第二種寫法在事件綁定的時候默認的執(zhí)行了一次outer,所以得到的是inner函數(shù)了,以后翻頁執(zhí)行的是inner函數(shù)

.addEventListener添加事件失敗原因之一

正確語法

document.getElementById("myBtn").addEventListener("click", function(){
? ? document.getElementById("demo").innerHTML = "Hello World";
});

addEventListener() 方法用于向指定元素添加事件句柄。

注意,這個指定元素是一個元素,所以當使用document.getElementsByClassName();來獲取對象然后再添加事件的時候就會失效,因為它獲取的是一個數(shù)組對象。

錯誤語法

document.getElementsByClassName("myBtn").addEventListener("click", function(){
? ? document.getElementById("demo").innerHTML = "Hello World";
});

當然,對應數(shù)組對象,要訪問其中的一個元素,我們要加上數(shù)字角標。

使用方式為:

var x = document.getElementsByClassName();
x[0].innerHTML = 'nihao';

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論