我有一個對象:jQuery的事件衝突
var myObject = {
open : function() {
console.log('Object open');
$(this).trigger('open');
}
};
$(myObject).on('open', function() {
console.log('Open event received');
});
myObject.open();
此代碼拋出一個「太多遞歸」。
的問題是觸發調用該方法,如果我重新命名open方法,這個工程:
var myObject = {
_open : function() {
console.log('Object open');
$(this).trigger('open');
}
};
$(myObject).on('open', function() {
console.log('Open event received');
});
myObject._open();
這是否有道理的人?
是的,我知道,但是這不是我所期待的,當我說的對象聽衆,我預計jQuery的觸發事件,而不是調用該方法,爲什麼?因爲如果我想調用我的對象的方法,我只是做myObject.myMethod() – user3763667
因爲你的方法是與你的事件相同的名稱jquery可能認爲他們都是事件,當你觸發事件時,它也觸發該函數以及 – Nicolas
ok,如此愚蠢 ! jQuery真的很爛 – user3763667