【问题标题】:declaring function from addEventListner or alone [duplicate]从 addEventListner 或单独声明函数 [重复]
【发布时间】:2021-08-14 16:49:26
【问题描述】:
    document.getElementById("somethings").addEventListener("click", function() {
        // code code code
    });

    // ============= or like this =============

    document.getElementById("somethings").addEventListener("click", fun);
    
    function fun(){
        // code code code
    }

作为一个新手,我问,其中一个比另一个更“正确”吗?

【问题讨论】:

  • 第二个错误.addEventListener("click", fun())应该是.addEventListener("click", fun)。见addEventListener calls the function without me even asking it to。除此之外,两者之间没有本质上的“更多”或“更少”。
  • 这是一个回调。
  • 您传递的是函数调用的结果而不是函数,因此您的代码将无法工作。

标签: javascript function addeventlistener


【解决方案1】:

这归结为偏好,但将函数声明为将您的逻辑与事件分开是一个很好的做法,而且我注意到您正在调用函数而不是传递函数的引用:

您的代码:

function fun(){
  // code code code
}

document.getElementById("somethings").addEventListener("click", fun());
    

这样做:

function fun(){
  // code code code
}

document.getElementById("somethings").addEventListener("click", fun);
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-30
    • 2020-11-13
    • 1970-01-01
    • 2013-09-08
    • 2020-04-13
    • 2013-09-27
    • 2013-01-05
    • 1970-01-01
    相关资源
    最近更新 更多