使用jQuery触发具有相同功能的对象上的事件时的无限循环

 77阿建 发布于 2023-02-11 14:12

这个头衔可能没多大帮助,我试过了.无论如何,我遇到了这个非常神秘(令人沮丧)的错误,导致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功能会被调用? 是的,事件名称和类的函数名称是相同的,但我不明白这两者是如何相关的.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有