Javascript检测chrome插件中的输入值编程更改



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

有这段文字... <input type="hidden" class="k-textbox" id="UserID" name="UserID" value="">

该值由页面上运行的其他一些 Javascript 更新。我需要以某种方式检测此更改,包括检测何时将值重置为上述值。

显然,键向上,向下键,模糊等都不起作用,因为它是隐藏的。

我以为改变可能会起作用,但没有? 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;
};

问题是onchange寻找"真实",即:由用户,事件。由于您正在使用Javascript来更改隐藏字段的值onchange因此永远不会被触发。

每当使用 javascript 设置UserID的值时,请使用以下命令触发事件:

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

下面是一个示例

最新更新