我有一个对象: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