首页 > 解决方案 > 如何在 jquery-3.4.1.min.js 中调试活动

问题描述

我有一个非常复杂的表单,其中包含多个手风琴和一些嵌入在手风琴标题中的复选框。

当用户单击一个处理程序时,它会查看是否需要发生任何事情(它不需要)。

但是,处理程序之后正在运行某些东西,因此始终选中该复选框。单步执行我的代码,我可以看到当事件处理程序结束时,复选框将被取消选中,并且在下一个正确的步骤中它已经被选中。

捕获异常时暂停不会做任何事情。

本质上,流程是:

  1. 用户点击
  2. 事件处理程序运行
  3. jquery-3.4.1.min.js 中的 4 个“跳过”,没有任何代码行似乎处于活动状态。在最后一个之前保持未选中状态。调用堆栈显示“dispatch”和“v.handle”
  4. jQuery 掩码,除了已经再次选中复选框之外什么都不做。

我如何确定第 3 步中发生了什么?

标签: jquery

解决方案


在 Chrome 开发者控制台中使用 Dom Change Breakpoint。

https://developer.chrome.com/docs/devtools/javascript/breakpoints/#dom

它是您需要关注的属性修改的断点类型。

属性修改:在当前选择的节点上添加或删除属性,或者属性值发生变化时触发。

此外,您可以尝试更深层次的事件侦听器断点。

https://developer.chrome.com/docs/devtools/javascript/breakpoints/#event-listeners


推荐阅读