如何将eventlistener添加到按钮javascript

时间:2014-06-11 14:05:21

标签: javascript button onclick

如何在我的按钮中添加eventlistener?单击该按钮时,函数speler1gooien必须运行。当我在下面运行我的示例代码时,函数speler1gooien在页面加载时被触发。仅在单击时运行我的函数的正确方法是什么?

window.onload = function () {
            buttonSpeler1 = document.getElementById("buttonspeler1");
            buttonSpeler2 = document.getElementById("buttonspeler2");
            tafelp2.src = "images/rechts_" + aantalBekersP2 + ".png";
            resultaat = document.getElementById("resultaat");
            buttonSpeler1.addEventListener("click", speler1gooien());
        };

        var speler1gooien =  function() {
            // some code

        }

2 个答案:

答案 0 :(得分:1)

删除调用speler1gooien()中的括号,因为它会导致您的函数立即执行,并且返回值将作为click事件处理程序传递。

buttonSpeler1.addEventListener("click", speler1gooien);
//                                                   ^ removed ()

通过删除括号,您将传递函数对象,而不是执行它。

答案 1 :(得分:0)

您正在尝试将函数speler1gooien作为onclick处理函数附加,但您的代码作为处理程序附加了spele1gooien函数的结果。只需删除该功能名称后面的()

即可
window.onload = function () {
        buttonSpeler1 = document.getElementById("buttonspeler1");
        buttonSpeler2 = document.getElementById("buttonspeler2");
        tafelp2.src = "images/rechts_" + aantalBekersP2 + ".png";
        resultaat = document.getElementById("resultaat");
        buttonSpeler1.addEventListener("click", speler1gooien);
};

var speler1gooien =  function() {
   // some code
}