如何使用Javascript判断浏览器是否更改了HTML输入字段?

如何使用Javascript判断浏览器是否更改了HTML输入字段?,javascript,jquery,html,Javascript,Jquery,Html,当我希望Javascript函数“myfunction”在用户向输入字段中输入一些文本时立即执行时,上述方法非常有效。然而,我遇到了浏览器自动输入文本的情况。当字段更新为以下内容时,如何执行myfunction: onchange="myfunction()" “onchange”不识别DOM更改 onchange仅当用户键入输入,然后输入失去焦点时才会触发 但您可以使用以下方法触发事件: document.getElementById("myfield").value = "my value

当我希望Javascript函数“myfunction”在用户向输入字段中输入一些文本时立即执行时,上述方法非常有效。然而,我遇到了浏览器自动输入文本的情况。当字段更新为以下内容时,如何执行myfunction:

onchange="myfunction()"

“onchange”不识别DOM更改

onchange
仅当用户键入输入,然后输入失去焦点时才会触发

但您可以使用以下方法触发事件:

document.getElementById("myfield").value = "my value"
$(函数(){
$('#btn')。单击(函数(){
document.getElementById('myField').value=“我的值”;
$('#myField')。触发器('change');
});
})
函数myfunction(){
警报(“值已更改”);
}

改变

我考虑过使用setinterval来检查字段,但我不确定如何执行。document.getElementById(“myfield”).value=“my value”等等,你的例子不是浏览器更新字段,而是你自己的JS更新字段。可能重复:。关于浏览器更新字段,这里有一个可能的重复:使用jQuery:
$(“#myfield”).val(“我的值”).change()只需为字段设置一个默认值,并使用setInterval()调用document.getElementById(“myfield”).value定期将该值与默认值进行比较;当它们不匹配时,运行函数并重置保存默认值的变量,以匹配上次在文本字段中检测到的值。。。或者,如果您只希望它执行一次,则设置一个标志,关闭脚本的该部分。while(someVariable==true){setInterval…在成功检查someVariable=false之后的某个位置;}
$("#myfield").trigger("change");