基于函数执行的踩坑(addEventListener)

目录记录一次踩坑经历写法一写法二.addEventListener添加事件失败原因之一正确语法错误语法总结记录一次踩坑经历写法一constouter=function(){...

目录
记录一次踩坑经历
写法一
写法二
.addEventListener添加事件失败原因之一
正确语法
错误语法
总结

记录一次踩坑经历

写法一

const outer = function () {
            var x = "我是外面函数的变量";

            console.log('我现在要在外层被调用');

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

        document.addEventListener('scroll', outer)

结果:

method1

写法二

const outer = function () {
            var x = "我是外面函数的变量";

            console.log('我现在要在外层被调用');

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

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

结果:

method2

两种写法在于第二种写法在事件绑定的时候默认的执行了一次outer,所以得到的是inner函数了,以后翻页执行的是inner函数

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

正确语法

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

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

注意,这个指定元素是一个元素,所以当使用document.getElementsByClassName();来获取对象然后再添加事件的时候就会失效,因为它获取的是一个数组对象。

错误语法

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

当然,对应数组对象,要访问其中的一个元素,我们要加上数字角标。

使用方式为:

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

延伸阅读:

上一篇:Vue3之Vite中由element ui更新导致的启动报错解决

下一篇:利用JavaScript实现绘制2023新年烟花的示例代码