小编Dil*_*ger的帖子

JavaScript addEventListener 函数语法

我无法理解为什么事件侦听器的函数参数不只接受该函数。这是代码:

变量声明:

var spanJS = document.getElementById("spanJS")
var txtPlayers = document.getElementById("ContentPlaceHolder1_txtPlayers")
var txtAmount = document.getElementById("ContentPlaceHolder1_txtAmount")
Run Code Online (Sandbox Code Playgroud)

然后关联事件监听器:

txtAmount.addEventListener("keyup", UpdateTotals())
txtPlayers.addEventListener("keyup", UpdateTotals())
Run Code Online (Sandbox Code Playgroud)

然后函数:

function UpdateTotals() {
      ... 
}
Run Code Online (Sandbox Code Playgroud)

这是整个代码。问题是,当我运行它时,它执行 UpdateTotals() 而没有任何 keyup 事件,并且侦听器不起作用。

如果我进行以下更改,它将按预期工作:

txtAmount.addEventListener("keyup", function () {
UpdateTotals()
})
txtPlayers.addEventListener("keyup", function () {
UpdateTotals()
})
Run Code Online (Sandbox Code Playgroud)

谁能解释一下为什么我不能只输入函数的名称,而必须将其“子化”到另一个函数中?

javascript syntax function addeventlistener

3
推荐指数
1
解决办法
363
查看次数

addEventListener 上的 JavaScript 自调用函数

我无法使事件侦听器自调用和侦听器工作的功能。

以下代码执行该函数,但事件侦听器不起作用:

window.addEventListener("resize", (function () {
document.getElementById("divMenu").innerHTML = document.getElementById("divTop").offsetWidth
})())
Run Code Online (Sandbox Code Playgroud)

该函数将设置网站格式所必需的(从一开始就是动态的)CSS 样式。“调整大小”功能必须在加载时执行。是否可以做到这一点,还是应该创建一个单独的自调用函数并在事件侦听器上调用它?

javascript addeventlistener self-invoking-function

0
推荐指数
1
解决办法
1566
查看次数