js中动态添加带参数的click事件会自动执行一次的问题

问题现象

window.onload=function(){
    var btn = document.getElementById("btn");
    btn.onClick=fun2(btn);
}

function fun2(b) {
    console.log(b.value);
}

使用如上方式动态添加点击事件,在网页加载完成后fun2函数会自动执行

解决方案

window.onload=function(){
    var btn = document.getElementById("btn");
    btn.addEventListener("click", function() {
        fun2(btn);
    });
}

function fun2(btn) {
    console.log(btn.value);
}

你可能感兴趣的:(js中动态添加带参数的click事件会自动执行一次的问题)