简体   繁体   中英

When JQuery change function is triggered

I am using Jquery to set some flag whenever input elements value get changed.

I wrote a simple script which is working fine but I observed that the function get called only when control get out of the input element.If user types something and keeps the control in the same input then function is not called.

I want to execute the function whenever input elements value get changed irrespective of where the control is.

Here is my code

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

I am using live() to bind change() method to dynamicaly added input elements.

~ Ajinkya.

Semantically, the change event is triggered when the element loses focus. That's when its value property is updated.

If you want to work whenever a key is pressed, use the keypress event:

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

Use keyup/keydown event instead of change:

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

The 'change' event works as lonesomeday said. But if you want to set your flag whenever something occurs, you can create your own event. For instance, with your custom event, you can set your flag if the user change the field, press a key, focus on the element or anything you want.

To know more about that:http://brandonaaron.net/blog/2009/06/4/jquery-edge-new-special-event-hooks

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM