javascript - console.trace 或堆栈跟踪来查明 javascript 中错误的来源?

标签 javascript jquery stack-trace

我使用了一些复杂的 javascript (jQuery) 来创建一个编辑器,用户可以在其中拖放和调整不同的大小 div s。问题是,有时,似乎没有任何原因,包含文本的 div 突然“卡住”或“卡在”包含的 div 上,并且无法拖动,尽管仍然维护包含 ui-draggable 的类列表。 ,就在我提到之后:

$this.draggable( "option", "disabled", false );

因此从技术上讲,拖动没有理由停止。我使用 Ctrl+Shift+K 来使用 Firebug 的 Web 控制台,但是当我拖动东西时,它不会触发控制台上的任何内容,而且事实上我无法拖动一个特定的东西没有显示任何内容。我尝试过分析,但这些东西只是告诉我们在某个脚本上花费了多少时间。我怎样才能找出为什么元素的拖动功能被关闭并且无法再次打开?我无法设置断点,因为我不知道代码中哪里出了问题。这看起来几乎是任意的。有什么方法可以简单地实时查看堆栈上发生的情况吗?

编辑

在 Firebug 中,我们可以看到对象的完整属性列表,比下面这个小屏幕截图中显示的内容要多得多。有谁知道我应该关注哪些与我这样的问题相关的对象属性?我真的不知道如何诊断问题。

Firebug Object details

最佳答案

@Allendar - 绑定(bind)过多确实是问题所在。我跟进了这个问题:Am I binding events over and over again in this jQuery code?并在 Visual Event 的帮助下,我摆脱了我一遍又一遍地做的绑定(bind),然后它工作得很好。

关于javascript - console.trace 或堆栈跟踪来查明 javascript 中错误的来源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14937777/

相关文章:

javascript - jcryption 表单提交不适用于按钮单击

javascript - 无法获取隐藏类以使用 jquery 显示

JavaScript 点击事件即使在解除绑定(bind)后仍运行 3 次

javascript - 使用 ng-if 的不同渲染?

javascript - 当我重新加载禁用时,使用 angularjs 禁用 ng-repeat 按钮不起作用?

javascript - 如何在本地存储中存储多个数据

javascript - 如何使用jquery检查输入是否检查

Java未捕获异常

javascript - 如何在 Javascript 中重新抛出异常,但保留堆栈?

python - 捕获异常时,如何获取类型、文件和行号?