I have a problem with a jquery change event on a text input that works as expected in Firefox and IE but not in Chrome. I also have a keyup event on the text input to manipulate the input as it is entered, but when the input is done I need to run some extra code. I tried using the 'blur' event and the 'focusout' event as someone here had suggested as a substitute, but then I couldn't change focus at all -- the input kept grabbing it back somehow. Here is the code:
$('.textInput').keyup(function(event) { /* do stuff */ });
$('.textInput').change(function(event) { alert('Changed!'); /* do other stuff */ });
and the html:
<input type="text" class="textInput" value="" />
I am using jQuery 1.6.3. Any suggestions would be greatly appreciated. H.
You can use the
input
event that works like a charm:Source: https://gist.github.com/brandonaaskov/1596867
Actually, there's a bug on Google Chrome that causes the 'change' event to not fire if something has been changed by the 'keyup' event:
https://code.google.com/p/chromium/issues/detail?id=92492
The issue seems to be open since May 2, 2013.
The change event will not fire unless the input focus switched to other controls