javascript 能否区分用户输入和动态更新?

Can javascript tell the difference between user input and dynamic update?

我需要能够使用 javascript/jquery 来更新字段。但我需要能够检查输入是否由用户手动更新,或者输入是否使用 document.getElementById().value.

动态更新

onChange() 方法似乎无论用户是否修改控件,或者如果我动态更新控件都会执行。

有什么帮助吗?是否有类似于 onChange() 的东西仅在用户手动 types/edits 控件时执行?

OnKeyUp / OnKeyPress 可能是您正在寻找的事件。

From MDN: 每次元素值更改时都会触发输入事件。这与 change 事件不同,change 事件仅在提交值时触发,例如按下回车键、从选项列表中选择一个值等。

此外,请参阅此 link onchange event not fire when the change come from another function

您可以手动编辑输入元素的 .value,只要该元素未被用户聚焦,大多数浏览器就不会触发 onChange event