我的代碼(內部的一個對象) onclick: this._addX.bind(this)
然後內部另一個目的現在 onclick: this._addY.bind(this)
與onClick事件使用.bind(mootools的)
,_addX()和_addY幾乎相同,除了它們的兩個端(在click事件上)調用具有不同參數值的函數,比如說_addX調用foo('x')和_addY調用foo('y')。所以我嘗試過:
onclick: this._add.bind(this,'x')
and onclick: this._add.bind(this,'y')
這兩個對象。當然,我改變了_add來接受一個論點。
在運行時,調用_add時,它看不到任何傳入參數!我已經摸索了不同的語法,但沒有任何工作。有任何想法嗎?原始的語法工作正常(沒有參數),但迫使我只用一行不同的複製一個大功能,這讓我很痛苦。提前致謝。
_add: function(which) {
var me = this;
var checkFull = function(abk) {
if (abk.isFull) {
alert("full");
} else {
alert(which); // which is always undefined here!
}
};
getAddressBook(checkFull); //checkFull is a fn called by getAddressBook
},
@Dave,你的代碼應該可以工作,但是不是。你可以發佈'_add'方法聲明,以便我們解決它嗎? – 2010-01-10 04:52:51
好吧,你是對的。它看起來很好。 (我也修正了縮進)我知道在MooTools中定義一個事件的唯一兩種方式是在構造函數中('{events:{'click':function(){...}}')或者使用'addEvent' 。你如何附加'onclick'函數? – 2010-01-10 05:11:16
實際上在YUI中創建按鈕並在那裏使用onClick:屬性。 VAR btn_Add =新CO.GG.widget.Button({ ID: '添加', 標籤: '添加X', 的onclick:this._add.bind(此, 'X') }); 我不知道'哪個'(在最上面的文章中)只是沒有從_add直到回調checkFull()? – Dave 2010-01-10 05:19:49