javascript - 我的第一个代码不起作用,但我的第二个代码起作用。第一个有什么问题?
问题描述
我是 JavaScript 新手。我的代码有点问题。在代码中,我在 addEventListener 中设置了一个匿名函数作为事件函数,但它不起作用。
target.addEventListener("click", x); //it does not work//
var x= function(event){
console.log(event.target);
};
但是,如果我像第二个那样编写代码,那么它就可以工作。
var y= function(){
target.addEventListener("click", x); //but it works//
}
var x= function(event){
console.log(event.target);
};
y();
我不明白第一个有什么问题。
解决方案
您需要在将函数分配给事件之前定义函数 - 正如您在第二个示例中所做的那样,在定义 x 之后执行 y()
var x = function(event) {
console.log(event.target);
};
// or
// const x = event => console.log(event.target);
const target = document.getElementById("butX");
target.addEventListener("click", x); //it does work//
<button type="button" id="butX">Click</button>
推荐阅读
- c - 扫描数字并将它们添加到列表和扫描答案并将其添加到变量
- makefile - makefile:多个自动变量
- python - 熊猫根据其他专栏“切”
- node.js - 使用 bash 在 Windows 上安装节点
- c++ - 如何使用 GetTokenInformation () 恢复权限?C++
- python-3.x - 从先前创建的 keras-cnn-sequential 模型(测试)中重新训练的模型(测试新)减少了本地磁盘上的大小。这个对吗?
- c# - 使用asp.net插入数据时如何避免数据库中的不同记录?
- amazon-web-services - 从 S3 调用的 Amazon Rekognition index-faces 方法的常规模式错误
- javascript - 使用 mailgun API 如何使用日志事件之间的分页来获得总记录
- python - 如何制作碰撞遮罩?