跟踪/观察TextBox值已更改

时间:2012-02-02 08:00:46

标签: javascript jquery

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

1 个答案:

答案 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插件,您不再需要keypresschange:它可用于键入输入,复制/粘贴,JavaScript等。