跟踪/观察TextBox值已更改

是否有任何方法可以检测文本框值是否已更改,用户是否明确更改或某些java脚本代码修改了文本框? 我需要发现这种变化。

要跟踪用户更改,您可以为按键添加处理程序:

$(selector).keypress(function() { // your code }); 

更新 :除了观看按键外, 您还可以使用changefunction通过JavaScript观察更改 。 它不会立即用于用户更改(仅在输入失去焦点后调用),但与keypress一起我相信您涵盖所有情况:

 $(selector).change(function() { // the same code }); setTimeout(function() { $(selector).val("changed"); }, 2000); // Will trigger the change 

编辑:对不起,它似乎也适用于JavaScript,但我错了……但是, 这个问题将能够解决您的问题(使用setTimeout测试,并且能够检测到更改)。

我在jsFiddle中发布了一个例子 。 使用这个新的watch插件,您不再需要keypresschange :它可用于键入键入,复制/粘贴,JavaScript等。