我正在写一个小练习网站。相关HTML:
...
<body>
<div id="button">CLICK ME</div>
<script src="assets/js/app.js"></script>
</body>
...
我的app.js文件具有以下代码:
document.querySelector("#button").addEventListener("click", new function() {
alert("test");
});
当我重新加载页面时,事件触发。之后,单击div
不执行任何操作。是什么导致此问题,我该如何解决?
的第二个参数addEventListener
引用了一个函数。首先new
,创建一个新对象,然后将一个匿名函数用作构造函数。因此,它的返回值是对象而不是函数,而这正是您所需要的。
因此,您的代码将需要(如Met Byrdy所指出的):
document.querySelector("#button").addEventListener("click", function() {
alert("test");
});
不过,只是为了好玩,我将为您提供一种new
在这种情况下实际使用的方法。您可以使用new Function
语法来做到这一点:
document.querySelector("#button").addEventListener("click", new Function("alert('dsds')"));
并非我建议这样做,但我想您应该知道也可以编写这样的函数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句