只是一个简单的问题,任何人都可以告诉我为什么这不起作用以及如何解决它?本质上,它采用HTML中的一组表行并动态地将点击事件附加到它们.
for (var a=index; a<rows.length; a++) {
tr = rows[a];
tr.onclick = function() { DropDownManager.onItemClick(tr, a); };
tr.observe("click", function() { DropDownManager.onItemClick(tr, a); });
}
Run Code Online (Sandbox Code Playgroud)
这段代码的问题是传递给DropDownManager.onItemClick的值总是循环中的最后一项,这不是我想要的那样,因为我希望它们是循环那个阶段的当前值.我意识到我错过了一些非常简单但却无法解决我生活的问题!
我想知道是否有人可以帮助我做一些我认为相当直接的事情:
基本上我想扩展所有数据类型的原型(包括内部类型),以允许某种自定义函数,考虑:
var x = "some string";
var y = 101;
x = "some other value";
y++;
x.onChange();
y.onChange();
Run Code Online (Sandbox Code Playgroud)
这是我之后的基本思想,但我真正想要的是实际上让onChange(在这个例子中)与实际变量(而不是标准原型扩展)的新函数不同,即:
x.onChange = function() {
alert("x.onChange");
}
y.onChange = function() {
alert("y.onChange");
}
Run Code Online (Sandbox Code Playgroud)
这似乎没有用,但我必须错过一些非常简单的事情吗?我的意思是我可以扩展所有对象和类型并添加新功能......不是吗?
任何帮助将不胜感激!