javascript - 找出哪些代码触发了输入更改

标签 javascript google-chrome dom dom-events

我禁用了 Chrome 自动填充密码。

在网站的一个特定登录页面中,在 load 事件之后,密码输入从空变为字符串作为其值(未反射(reflect)在 DOM 中)。如果我查看 console.dir() 我可以读取它的值,这是一个我从未使用过或将使用的密码,所以我从未输入过该密码。我搜索或询问的任何内容都没有任何帮助。

我已经调试了该页面,并且使用 eventListener 我可以查明引入该值的确切时刻,只需监听 change 事件即可。但这并不是很有用,我只是看到输入被那个奇怪的密码改变了,但不知道它为什么会出现在那里。 AFAIK 事件对象不知道谁是更改背后的线索。

我想知道什么函数、片段或代码正在作用于该输入并插入那个无用的字符串。

我怎样才能做到这一点?

编辑:我很感谢侧面的帮助,但我只对所提出问题的答案真正感兴趣

最佳答案

在更改事件中,您可以记录一个错误 (console.error(..)),该错误显示堆栈跟踪。

function iChangedTheValue()
{
   $("#id1").val("value").trigger("change")
}

$("input").on("change", function(event){
  console.error("value of " + event.currentTarget.id + " has been changed")
});


iChangedTheValue();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="id1" />

在 Chrome 开发工具中 (F12)

关于javascript - 找出哪些代码触发了输入更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43394168/

相关文章:

javascript - 在nodejs collection.find()中没有从Mongodb集合中获取值。它什么也不返回

html - 在非默认浏览器中打开 HTML 文件

javascript - 在 Chrome 中禁用同源策略

javascript - Chrome 无法进行数组解构

javascript - 将 html 附加到 jQuery 元素而不在 html 中运行脚本

Java xml 解析器循环

javascript - 计数 tbody 介于两个之间 `theads`

javascript - 带标签的旋转木马 : adjust active tab when carousel slides to next or previous slide

Javascript正则表达式删除双引号内的新行和双引号本身

java - 如何使用 Javascript 动态嵌入 Java applet?