这个头衔可能没多大帮助,我试过了.无论如何,我遇到了这个非常神秘(令人沮丧)的错误,导致RangeError: Maximum call stack size exceeded
我写了一些OO JS.花了我几个小时,但我终于找到了原因.这是一个简单的例子,它将导致相同的异常:
// Class var Foo = function(){ // "Public" function this.bar = function(){ console.log('loop!'); $(this).trigger('bar'); } } var foo = new Foo(); $(foo).trigger('bar');
运行此代码将导致loop!
多次登录到控制台,最终导致范围异常.
显然有一些关于jQuery的trigger
功能,我不明白,它归结为:为什么foo的bar
功能会被调用? 是的,事件名称和类的函数名称是相同的,但我不明白这两者是如何相关的.