编程语言
首页 > 编程语言> > 用console.trace或堆栈跟踪来确定javascript中错误的来源?

用console.trace或堆栈跟踪来确定javascript中错误的来源?

作者:互联网

我使用了一些复杂的JavaScript(jQuery)创建了各种类型的编辑器,用户可以在其中拖动,拖放和调整不同的div大小.问题是,有时,似乎没有理由,包含文本的div突然在包含的div上“冻结”或“卡住”,并且即使在维护包含ui-draggable的类列表的情况下也无法拖动,就在我提到之后:

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

因此,从技术上讲,没有理由停止拖动.我使用Ctrl Shift K来使用Firebug的Web控制台,但是当我拖拉东西时并不会触发控制台上的任何东西,而且我不能拖拉某个东西的事实也不会显示任何东西.我已经尝试进行概要分析,但是这些事情只能说明某个脚本花费了多少时间.我怎样才能弄清楚为什么元素的拖动仅被关闭而不能再次打开?我不能设置断点,因为我不知道代码在哪里出了问题.似乎几乎是任意的.有什么方法可以简单地实时查看堆栈中发生了什么?

编辑

在Firebug中,我们可以看到对象的完整属性列表,远远超出了下面这张小屏幕截图所显示的内容.没有人知道与我的问题有关的对象属性吗?我真的不知道如何诊断问题.

解决方法:

@Allendar-太多的绑定确实是问题.我提出了一个问题:Am I binding events over and over again in this jQuery code?,并在Visual Event的帮助下,我摆脱了我一遍又一遍地执行的绑定,然后效果很好.

标签:javascript,jquery,stack-trace
来源: https://codeday.me/bug/20191013/1905931.html