I found that jQuery change event on a textbox doesn't fire until I click outside the textbox.
HTML:
<input type="text" id="textbox" />
JS:
$("#textbox").change(function() {alert("Change detected!");});
See demo on JSFiddle
My application requires the event to be fired on every character change in the textbox. I even tried using keyup instead...
$("#textbox").keyup(function() {alert("Keyup detected!");});
...but it's a known fact that the keyup event isn't fired on right-click-and-paste.
Any workaround? Is having both listeners going to cause any problems?
Reading your comments took me to a dirty fix. This is not a right way, I know, but can be a work around.
$(function() {
$( "#inputFieldId" ).autocomplete({
source: function( event, ui ) {
alert("do your functions here");
return false;
}
});
});
Try this:
$("#textbox").bind('paste',function() {alert("Change detected!");});
See demo on JSFiddle.
On modern browsers, you can use the input
event:
$("#textbox").on('input',function() {alert("Change detected!");});
if you write anything in your textbox, the event gets fired.
code as follows :
HTML:
<input type="text" id="textbox" />
JS:
<script type="text/javascript">
$(function () {
$("#textbox").bind('input', function() {
alert("letter entered");
});
});
</script>
$(this).bind('input propertychange', function() {
//your code here
});
This is works for typing, paste, right click mouse paste etc.
Try the below Code:
$("#textbox").on('change keypress paste', function() {
console.log("Handler for .keypress() called.");
});
Source: Stackoverflow.com