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
。
我需要能够使用 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
。