是否有任何方法可以检测文本框值是否已更改,用户是明确更改还是某些java脚本代码修改了文本框?我需要发现这种变化。
答案 0 :(得分:2)
要跟踪用户更改,您可以为按键添加处理程序:
$(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
进行测试,并且它能够检测变化。)
我在jsFiddle中发布了example。使用这个新的watch
插件,您不再需要keypress
或change
:它可用于键入输入,复制/粘贴,JavaScript等。