跟踪/观察TextBox值已更改

跟踪/观察TextBox值已更改

问题描述:

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

+1

可能与http://stackoverflow.com/questions/1481152/jquery-how重复-to-detect-a-textboxs-content-has-changed – 2012-02-02 08:02:54

+0

@GhyathSerhal,如果值从javascript更改,我还需要检测值。 – user960567 2012-02-02 08:06:57

要跟踪用户改变,你可以添加一个处理按键:

$(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等。

+0

如果价值从javascript变更不起作用 – user960567 2012-02-02 08:34:52

+0

@ user960567您是否尝试过链接问题建议?检查我更新的答案,我在jsFiddle上发布了一个例子。 – mgibsonbr 2012-02-02 08:49:05

+0

这不是一个很好的计时器来检查每次更改的值。 – user960567 2012-02-02 09:34:49