我想知道为什么我在html中执行这个
<!DOCTYPE html>
<html>
<p class="click">
click here
</p>
<script>
p=document.querySelector(".click");
p.addEventListener("onclick",alert("click sucess"))
</script>
</html>
在我打开浏览器后,警报会立即出现,但不会在点击时出现。以及如何在我单击它时让它启动。
最佳答案
addEventListener
的第二个参数需要是一个函数。
表达式 alert("click sucess")
将立即调用 alert
函数(向其传递参数)并计算为 该函数的返回值。
相当于:
var a_value = alert("click sucess");
p.addEventListener("onclick", a_value);
您需要创建一个使用所需参数调用警报的新函数。
此外,您需要获得正确的事件名称。它是点击,而不是点击。
var a_value = alert.bind(window, "click sucess");
p.addEventListener("click", a_value);
关于javascript - 即使事件未执行,事件监听器也会立即触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50159251/