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?
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');
});
PS I wanted to give you a +1 for using 'boom shakalaka' in an example, but I digress.
<!--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();">
I'm not sure if what you want but maybe a simple blur event?
$('input').on('blur',function(e){
alert('event');
});
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.