我正在尝试在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;
};
答案 0 :(得分:0)
问题是onchange
寻找&#34;真正的&#34;,即:由用户,事件。由于您使用Javascript更改隐藏字段onchange
的值,因此永远不会被解雇。
每当您使用javascript设置UserID
的值时,请使用此触发事件:
document.getElementById('UserID').dispatchEvent(new Event('change'));
这里是example