主干app中的所有事件触发两次.随机发生
All events in Backbone app fire twice. Occurs randomly
首先介绍一下背景。我很确定这不是因为僵尸的观点。我使用requireJS,并且在任何给定的时间只有一个主视图实例。
此外,这种行为是随机的,我甚至一次也无法复制它,但我的几个用户指出了这一点,并向我展示了一个视频,其中每次点击应用程序似乎都会触发两次处理程序。咔哒声发生得非常非常快。这不可能是鼠标的机械故障,因为已经有多台机器报告了这个问题。不管怎样,这些报告都是来自那些拥有高速互联网连接的人。
应用程序的两个实例是否可能同时运行?我可以采取什么步骤来隔离脊柱的这种问题?
为文字墙道歉,如果我可以提供任何额外的信息或相关的来源,请告诉我。
编辑:我已经设法在Opera中重新创建了这个。在逐步完成触发两次的部分代码之后(我正在检查打开一个模态的代码),我能够查看触发事件的视图。两个视图都有相同的CID,所以这不能归因于僵尸视图,对吧?
根据我的经验,这几乎总是与僵尸视图或其他DOM泄漏有关。我最好的朋友在这种情况下,如果Web Inspector Profiles -> Take Heap Snapshot并寻找分离的DOM树(在搜索字段中键入"detached")。
它可能出现在复杂的情况下,即使你认为你只实例化一次视图。
除此之外,您还必须向我们展示一些代码;)
这里的问题是我正在运行一个报告JS错误的第三方库。由于他们的错误,页面上的事件绑定受到了影响,这导致了应用程序内部的混乱。
这个故事的寓意-每当你遇到一个你觉得不可能的错误时,一个接一个地删除你的第三方依赖,并确认问题是从你的错误开始的。
相关文章:
- Meteor Router数据函数被调用两次
- 从MySQL数据库中获取输入数据需要两次页面刷新
- Module.start()已激发两次
- Jquery点击事件必须点击两次
- Append元素在运行两次函数后不显示
- 防止双击执行两次jQuery post请求
- 我必须点击两次才能激活任何按钮操作(离子/角度)
- 单击jQuery会激发两次
- 如何避免在树上走两次
- button.单击两次删除附加操作后不工作
- 由于$compile,Javascript(Angular)嵌套指令加载了两次
- 在列表中至少使用两次随机生成的nr
- 仅随机获取同一图像两次
- 调用随机函数Javascript,但不能两次调用相同的函数
- Vtiger-Jquery滑动切换随机切换两次
- 随机更改网页而不会两次获得同一页面
- 如何穿't在这个随机背景js中连续两次具有相同的bg
- 主干app中的所有事件触发两次.随机发生
- 我怎么能确保每2个随机的颜色被使用两次
- JS:没有重复相同字符串两次的随机字符串