提问人:micahhoover 提问时间:10/18/2014 最后编辑:Brian Tompsett - 汤莱恩micahhoover 更新时间:9/12/2020 访问量:206
从 DOM 闯入表单元素事件
Breaking into form element event from DOM
问:
我是一家公司的新手,该公司拥有具有数百万个 SLOC 的 Web 应用程序。
出于某种原因,当单击文本区域(在任何浏览器中)时,将取消选择关联的单选按钮。
我不确定 textarea 触发了什么 JavaScript ,我开始怀疑不显眼的代码,虽然封装了与标记没有直接关系的代码,但是否使得追捕和闯入源代码的关键部分变得霸道。onclick
有没有办法使用 Chrome 开发者控制台闯入取消选择单选按钮的 JavaScript?我尝试了几种选择,但无济于事:(
奖励:这是不显眼的 JavaScript 的缺点吗?
编辑:这是HTML:
<div class='radio'>
<label data-toggle='tooltip' title='Originated somewhere else.'>
<input type='radio' id='q2023_r2320' name='q2023' value='2320' Other />*Other</label>
<br />
<textarea id='q2023_r2320_text' name='q2023_r2320_text' style='width:80%;' rows='1' class='form-control'>
</textarea>
</div>
答:
1赞
wired_in
10/18/2014
#1
您可以向单选按钮添加一个更改事件处理程序,在其中添加一个断点,当它被命中时,查看堆栈跟踪。此外,尝试在 chrome 开发工具的 Sources 选项卡中执行 Ctrl-Shift-F 并搜索相关的钩子,例如“radio”和“form-control”类。
1赞
Scorpion-Prince
10/18/2014
#2
有一种方法可以中断 Chrome 开发者工具中对 DOM 元素的更改。在 chrome 中导航到您的网页,右键单击您感兴趣的元素,然后单击“检查元素”。在打开的 Chrome Dev 工具窗口中,应选择 DOM 元素。再次右键单击 Chrome 开发者工具窗口中的该元素,然后将鼠标悬停在 Break On 上下文菜单上。您应该看到 3 个选项 - 子树修改、属性修改和节点删除。由于单选按钮处于取消选中状态,因此可以在属性修改时中断。单击文本区域,chrome 开发工具应命中断点,显示哪段代码修改了单选按钮属性。
评论
0赞
micahhoover
10/18/2014
算是有效的。出于某种原因,它(最终)将我带到了 JS 函数的末尾,结果证明这是罪魁祸首。奇怪。
1赞
Scorpion-Prince
10/18/2014
@micahhoover 这是单选按钮被取消选择的地方吗?还是在那之后它坏了?
0赞
micahhoover
10/18/2014
哦,是的。我想这就是原因。咄。
评论