Onclick in循环解决方法始终返回鼠标事件

时间:2011-07-08 06:16:34

标签: javascript arrays loops scope onclick

我需要在循环中添加一个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'));

1 个答案:

答案 0 :(得分:0)

试试这个:

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'));
}