There is an event handler:

$('.example_input').on('input', function(event) { console.log('Input Event!'); }); 

It should trigger on any change in the field value. For example: entering a character, deleting a character (backspace, delete), ctrl-v, etc.

Everything works except for deleting characters, namely pressing the backspace and delete keys.

In IE 11, Chrome, Opera, FF - everything works. Any thoughts on that?

And yes, adding a propertychange event to on('input') did not help.

    2 answers 2

    Solved the issue by adding a keyup handler and a forced trigger .

     var keyCode = { DELETE: 46, BACKSPACE: 8 }; $('.example_input').on('input', function(event) { console.log('Input Event!'); }); $('.example-input').keyup(function(event) { switch(event.keyCode) { case keyCode.BACKSPACE: $('.example-input').trigger("input") break; case keyCode.DELETE: $('.example-input').trigger("input") break; default: break; } }); 

      For known only to IE9 developers, a selectionchange event occurs when deleting inside a text field. Below is a function to solve this problem.

        (function (d) { if (navigator.userAgent.indexOf('MSIE 9') === -1) return; d.addEventListener('selectionchange', function() { var el = d.activeElement; if (el.tagName === 'TEXTAREA' || (el.tagName === 'INPUT' && el.type === 'text')) { var ev = d.createEvent('CustomEvent'); ev.initCustomEvent('input', true, true, {}); el.dispatchEvent(ev); } }); })(document); 

      Read more https://stackoverflow.com/questions/6382389/oninput-in-ie9-doesnt-fire-when-we-hit-backspace-del-do-cut