var MyObject = {
init: function() {
this.items = $('#menu a');
for (var i = 0; i < this.items.length; i++) {
$(this.items[i]).bind('click', this.doSomething);
}
},
doSomething: function (index) {
alert(this.items[index].innerHTML);
// alerts: One, Two, Three
}
};
我需要通過索引(i)如何將參數傳遞給事件處理程序?
編輯:插圖:http://jsfiddle.net/mUjAj/
是的,但我需要「this」將成爲MyObject,而不是觸發事件的元素「a」。 – Luistar15 2010-10-29 01:39:21
@ Luistar15 - 在事件處理程序中情況並非如此,this指的是元素,如果您希望它指向元素,最好創建一個像您所指向的「self」的變量,或更改上下文的處理程序......但只有一個變量的副本,只要執行'MyObject'來引用它,除非我失去了一些東西? – 2010-10-29 01:41:23
我明白了,是的,它只有一個副本。所以,我不能做這樣的事情(http://jsfiddle.net/mUjAj/2/)? jquery版本將是(http://jsfiddle.net/mUjAj/3/)。那麼,我不能用「this」來指代「MyObject」嗎?或者有什麼辦法? – Luistar15 2010-10-29 02:53:45