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

Javascript Onclick in循环解决方案始终返回鼠标事件,javascript,arrays,loops,scope,onclick,Javascript,Arrays,Loops,Scope,Onclick,我需要在循环中添加onclick事件,因此我搜索并发现: 但是,它的问题是它总是返回鼠标事件。除了我自己的函数外,我做了几乎完全相同的事情,但它只返回一个鼠标事件。我不知道为什么,对我来说也没有任何意义。代码如下: 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

我需要在循环中添加onclick事件,因此我搜索并发现: 但是,它的问题是它总是返回鼠标事件。除了我自己的函数外,我做了几乎完全相同的事情,但它只返回一个鼠标事件。我不知道为什么,对我来说也没有任何意义。代码如下:

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'));
试试这个:

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

我发现在返回函数中添加一个参数是导致问题的原因