Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:事件侦听器上未显示错误_Javascript_Jquery_Backbone.js - Fatal编程技术网

Javascript:事件侦听器上未显示错误

Javascript:事件侦听器上未显示错误,javascript,jquery,backbone.js,Javascript,Jquery,Backbone.js,我有一个让我发疯的问题。我有两个似乎相同的事件侦听器。正在使用相同的作用域但在不同的时间调用。我一直在使用chromes调试器工具逐步通过它们。第一个将抛出一个错误 TypeError:对象1没有方法“get” 但第二个示例simple停止执行 el.on("change:one", function() { debugger; a = 1; a.get(); }); el.on("change:two", function() { debugger; a = 1; a

我有一个让我发疯的问题。我有两个似乎相同的事件侦听器。正在使用相同的作用域但在不同的时间调用。我一直在使用chromes调试器工具逐步通过它们。第一个将抛出一个错误

TypeError:对象1没有方法“get”

但第二个示例simple停止执行

el.on("change:one", function() {
  debugger;
  a = 1;
  a.get();
});

el.on("change:two", function() {
  debugger;
  a = 1;
  a.get();
});
我理解,简单地询问为什么会发生这种情况可能需要详细解释所有正在使用的库等,因此我的问题是:

是否可以不显示javascript抛出的错误,以及如何检测是否有什么内容覆盖了错误报告功能


注意:在这两个示例中,我都确定
window.onerror
null
主干同步调用事件处理程序,不捕获处理程序异常。因此,如果您有如下代码:

el.trigger('change:one'); // handler will throw exception
el.trigger('change:two'); // won't execute

change:two
事件将永远不会被触发,导致您的
change:two
处理程序永远不会被调用。

若要在工作中使用扳手,我可以在chromes控制台中调用el.trigger('change:two'),它将显示错误……您确定正在执行第二个事件处理程序吗?根据事件的触发方式,第一个错误可能是停止执行触发
change:two
的任何功能。您可以手动触发事件并成功抛出错误,这一事实支持这一点。1是数字对象。。而且它没有
get
方法。。尝试为
el.trigger('change:one')触发相同的事件。
。。从@Sushanth--开始应该是相同的,尽管我很确定你已经知道这一点。@MattStone是肯定的,浏览器在两个函数中都处于调试器模式。谢谢你的回答,我可以删除进行更改的代码:一个工作,更改:两个执行,死亡但不显示错误当我从
change:one
处理程序中删除导致异常的代码时,我能够从
change:two
处理程序中看到错误。看这个。