gpt4 book ai didi

javascript - 为什么不能直接用addEventListener传参呢?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:16:25 24 4
gpt4 key购买 nike

我知道您不能将任何参数传递给 addEventListener。你必须这样做

el.addEventListener("click", function(){callSomeFunction("myString");}, false);

但究竟是什么原因让我们这样做呢?

最佳答案

因为如果你这样做:

el.addEventListener("click", callSomeFunction("myString"), false);

它会立即执行 callSomeFunction,然后将其值返回给 addEventListener,然后使用它。

例如,如果我有这个:

function callSomeFunction() {
doSomeThings();
return 10;
}

然后 el.addEventListener("click", callSomeFunction("myString"), false); 实际上会调用 el.addEventListener("click", 10, false);.

如果你有一个没有参数的函数,你可以直接传递它:

el.addEventListener("click", callSomeFunction, false);

关于javascript - 为什么不能直接用addEventListener传参呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16588067/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com