<script>
var clrbtn = document.createElement('button');
clrbtn.addEventListener('click', sayHello());
function sayHello() {
console.log('Hello');
}
</script>
我在文件加载的控制台中得到了Hello,为什么?
答案 0 :(得分:1)
这是因为sayHello()
clrbtn.addEventListener('click', sayHello())
它将立即执行该功能。
将其更改为
clrbtn.addEventListener('click', sayHello)
答案 1 :(得分:0)
原因是因为你正在调用sayHello()而不是引用它;即sayHello
答案 2 :(得分:0)
尝试传递给addeventlistener,只是要在click事件上执行的函数的名称。目前你有括号,事先执行sayHello并尝试传递给你执行的addeventlistener值(未定义)。
简而言之:
$(".clicker").each( function() {
alert($(this).attr('src'));
});