我正在处理一组相当大的数据集,这些数据与页面上的对象相关,一些对象需要链接应用于它们onclick。连接到的链接是数据集的一部分,我为变量linkTarget建立链接的字符串,并像这样应用它。在Javascript中开发独特的动态onclick事件有困难
if (dataTag[i][3]==true){
if(prepend==undefined || prepend=="undefined"){
var linkTarget=ResultsJSON["targetUrl"];
ele.onclick = function(){
window.open(linkTarget);
};
} else {
var linkTarget=prepend+ResultsJSON["targetUrl"];
ele.onclick = function(){
window.open(linkTarget);
};
}
ele指的是用getElementByID拾取的元素。现在我遇到了很多对象,我遇到的问题是每个对象的onclick都是linkTarget的最后一个值。这全部包含在一个函数中,链接目标是一个局部变量,所以我不知道为什么。我一直在使用的东西数组一样
ele.onclick=function(){window.open(linkTarget[linkTarget.length-1]);};
甚至
ele.onclick=function(){window.open(linkTarget.valueOf());};
具有相同的结果尝试。我现在处于亏损状态,希望得到任何帮助。
我的蜘蛛感觉告诉我你落在了for-loops陷阱的经典闭合。 – hugomg