小编MrE*_*ich的帖子

函数调用带有addEventListener参数的循环内部

问题:我想通过使用按钮的click事件传递参数来调用函数"test".

使用addEventListener ('click', test );作品.

使用addEventListener ('click', test(parameter));该功能在加载时自动激活,而不是单击按钮.

问题:如何传递参数?

//create 3 button (n is a counter):
    var btn = document.createElement("INPUT");
        btn.setAttribute("id", "demo"+n);
        btn.setAttribute("type", "button");
        btn.setAttribute("value", ("click"));
        document.body.appendChild(btn);
Run Code Online (Sandbox Code Playgroud)

呼叫没有参数工作正确:

function test(m) {
    alert("YOU CLICKED ME!");
}

var m=0;
while(m!=3){
        document.getElementById("demo"+m).addEventListener("click", test);
        m=m+1;
}   
Run Code Online (Sandbox Code Playgroud)

`

参数不起作用(该功能立即激活):

function test(m) {
    alert("YOU CLICKED ME!"+m);
}

var m=0;
while(m!=3){
    document.getElementById("demo"+m).addEventListener("click", test(m));
            m=m+1;
}   
Run Code Online (Sandbox Code Playgroud)

javascript

4
推荐指数
1
解决办法
743
查看次数

标签 统计

javascript ×1