找出触发输入更改的代码

时间:2017-04-13 13:53:17

标签: javascript google-chrome dom javascript-events

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

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

我调试了页面并使用eventListener我可以查明引入值的确切时刻,只需监听change事件。但这并不是真的有用,我只是看到输入改变了那个奇怪的密码,但对它出现在那里的原因一无所知。 AFAIK事件对象没有关于变更背后的线索。

我想知道哪个函数或代码段或代码正在对该输入执行并插入该无用的字符串。

我该如何实现?

编辑:我很感谢帮助,但我只是对问题的答案感兴趣

1 个答案:

答案 0 :(得分:1)

在更改事件中,您可以记录显示堆栈跟踪的错误(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" />
&#13;
&#13;
&#13;

Chrome devtools( F12