我的第一个代码不起作用,但我的第二个代码可以。第一个有什么问题?

我是 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();

我不明白第一个有什么问题。


慕哥6287543
浏览 86回答 1
1回答

湖上湖

您需要在将函数分配给事件之前定义该函数 - 正如您在第二个示例中所做的那样,其中 y() 在定义 x 后执行var x = function(event) {&nbsp; console.log(event.target);};// or// const x = event =>&nbsp; console.log(event.target);const target = document.getElementById("butX");target.addEventListener("click", x); //it does work//<button type="button" id="butX">Click</button>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript