Check if input value was changed on keyup immediately (with jquery):
jQuery(function($){ $('form input').change(function() { // works when input will be blured and the value was changed //alert('input value changed'); $('.log').append(' change'); }); $('form input').keyup(function() { // works immediately when user press button inside of the input $(this).change(); // simulate "change" event }); });
<form> <input type="text" placeholder="type here to test events..."> <div class="log">log of change and keyup events. </div> </form>
Also check how to remove text in input on focus.
it doesn't work. When I enter some text and then press arrow buttons it will write that text changed but it is false.
Yes, you're right, code triggers only for keyup actions.
You may re-write your code by remembering prev string in text input and comparing it with current.
If these strings are different, you may trigger your custom action.