有什么方法可以检测文本框的值是否已更改,是用户明确更改还是某些 java 脚本代码修改了文本框?我需要检测这种变化。
最佳答案
要跟踪用户更改,您可以添加按键处理程序:
$(selector).keypress(function() {
// your code
});
更新:除了观察按键,
您可以使用 。它不会立即用于用户更改(仅在输入失去焦点后调用),但与 change
函数通过 JavaScript 观察变化keypress
一起我相信你涵盖了所有情况:
$(selector).change(function() {
// the same code
});
setTimeout(function() { $(selector).val("changed"); }, 2000); // Will trigger the change
编辑:抱歉,它似乎也适用于 JavaScript,但我错了... This question ,但是,将能够解决您的问题(使用 setTimeout
进行测试,并且能够检测到更改)。
我发布了一个 example在 jsFiddle 中。使用这个新的 watch
插件,您不再需要 keypress
或 change
:它可以用于按键输入、复制/粘贴、JavaScript 等。
关于javascript - 跟踪/观察文本框值已更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9108878/