每当input
元素值发生变化时,我都会使用Jquery设置一些标志。
我编写了一个工作正常的简单脚本,但我观察到只有当控件离开input
元素时才调用该函数。如果用户输入某些内容并将控件保持在同一个input
然后不调用函数。
我想在input
元素值发生变化时执行该函数,而不管控件在何处。
这是我的代码
$("input,textarea").live('change',function ()
{
// Set flag
});
我正在使用live()
将change()
方法绑定到动态添加的input
元素。
~Ajinkya。
答案 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