addEventListener适用于文档加载

时间:2017-05-18 04:38:37

标签: javascript

<script>
    var clrbtn = document.createElement('button');
    clrbtn.addEventListener('click', sayHello());
    function sayHello() {
        console.log('Hello');
    }
</script>

我在文件加载的控制台中得到了Hello,为什么?

3 个答案:

答案 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'));
});