【问题标题】:Onclick in loop workaround always returns mouse event循环中的 Onclick 解决方法始终返回鼠标事件
【发布时间】:2011-07-08 06:16:33
【问题描述】:

我需要在循环中添加一个 onclick 事件,所以我搜索并遇到了这个:Setting onclick to use current value of variable in loop 然而,它的问题是它总是返回一个鼠标事件。除了使用我自己的函数外,我做了几乎完全相同的事情,但它只是返回一个鼠标事件。我不知道为什么,这对我来说没有任何意义。代码如下:

var a=m.getElementsByTagName('topic');
for(var b=0,c=a.length;b<c;b++) a[b].onclick=function(a) {
    return function(a) {
        goToMB(a);
        };
    }(a[b].getAttribute('topicid'));

【问题讨论】:

    标签: javascript arrays loops scope onclick


    【解决方案1】:

    试试这个:

    var a = m.getElementsByTagName('topic');
    for(var b = 0, c = a.length; b < c; b++) {
        a[b].onclick = function(a) {
            return function() { goToMB(a); }
        }(a[b].getAttribute('topicid'));
    }
    

    【讨论】:

    • 我看到在返回函数中添加一个参数导致了问题
    猜你喜欢
    • 1970-01-01
    • 2018-08-04
    • 2013-03-29
    • 2021-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多