当JQuery更改函数被触发时

时间:2011-06-14 11:08:10

标签: javascript jquery-selectors jquery

每当input元素值发生变化时,我都会使用Jquery设置一些标志。

我编写了一个工作正常的简单脚本,但我观察到只有当控件离开input元素时才调用该函数。如果用户输入某些内容并将控件保持在同一个input然后不调用函数。

我想在input元素值发生变化时执行该函数,而不管控件在何处。

这是我的代码

$("input,textarea").live('change',function ()
{
   // Set flag
});

我正在使用live()change()方法绑定到动态添加的input元素。

~Ajinkya。

3 个答案:

答案 0 :(得分:2)

从语义上讲,当元素失去焦点时会触发change事件。那时它的value属性已更新。

如果您想在按下某个键时工作,请使用keypress事件:

$("input,textarea").live('keypress',function ()
{
   // Set flag
});

答案 1 :(得分:1)

使用keyup / keydown事件而不是更改:

$("input,textarea").live('keyup',function ()
{
   // Set flag
});

答案 2 :(得分:1)

'变更'事件就像lonesomeday所说。 但是如果你想在出现问题时设置你的标志,你可以创建自己的事件。 例如,使用自定义事件,您可以设置标记,如果用户更改字段,按键,关注元素或任何您想要的内容。

了解更多相关信息:http://brandonaaron.net/blog/2009/06/4/jquery-edge-new-special-event-hooks