Javascript检测chrome插件中的输入值编程变化

时间:2017-04-12 07:35:33

标签: javascript google-chrome

我正在尝试在Windows上为Chrome浏览器编写插件,基本上为网站添加了额外的功能。 编辑:该网站不是我的,所以我只能添加铬扩展可能的内容。

有这条HTML ... <input type="hidden" class="k-textbox" id="UserID" name="UserID" value="">

该值由页面上运行的其他一些Javascript更新。 我需要以某种方式检测到这种变化,包括检测何时重置值如上所述。

显然,keyup,keydown,blur等不能正常工作。

我认为onchange可能有用但不是吗? document.getElementById('UserID').onchange = function(){alert(document.getElementById("UserID").value);};

我目前有......     var user = document.getElementById("UserID").value 每隔5秒钟运行一次,但它似乎只是接受第一次更改而从未更新该值。

任何帮助表示感谢。

编辑:

代码使用:

var user = document.getElementById("UserID").value
if (user > 0) {
var iss_pop = document.getElementById("issuingPopup").childNodes;
org_html = iss_pop[1].innerHTML;
new_html = "<a href='https://website.com/#" + document.getElementById('UserID').value + "'>" + org_html + "</a>";
iss_pop[1].innerHTML = new_html;
};

1 个答案:

答案 0 :(得分:0)

问题是onchange寻找&#34;真正的&#34;,即:由用户,事件。由于您使用Javascript更改隐藏字段onchange的值,因此永远不会被解雇。

每当您使用javascript设置UserID的值时,请使用此触发事件:

document.getElementById('UserID').dispatchEvent(new Event('change'));

这里是example