Reputation: 11545
The following code does not work on all input elements:
$(':input').on('input', function(){
alert('boom shakalaka');
});
It has no effect on check-boxes even though they are input elements, and checking or unchecking changes its state.
I can add the change
event too inside on()
but then the same event will be fired twice on other input fields.
Is there any reliable input state-change event that is consistent for all form elements?
Upvotes: 10
Views: 3987
Reputation: 23
<!--Why not just use onclick ?-->
<!--Ur-->
<script>
$('input#checkbox').on('click', function(){
alert('boom shakalaka');
});
</script>
<input type="checkbox" id="checkbox">
<!--Or-->
<input type="checkbox" onclick="anyfunction();">
Upvotes: 2
Reputation: 34406
There is no single event that would be authoritative, but you can bind to multiple events -
$(':input').on('change keyup input', function() {
console.log('changed');
});
P.S. I wanted to give you a +1 for using 'boom shakalaka' in an example, but I digress.
Upvotes: 6
Reputation: 476
I'm not sure if what you want but maybe a simple blur event?
$('input').on('blur',function(e){
alert('event');
});
Upvotes: -1