jquery change event callback
Solution 1
You can probably make use of event bubbling and register a callback in the document
.
$(document).on('change', '#element', function(){
console.log('after all callbacks')
});
Demo: Fiddle
Solution 2
I just spent some time exploring this myself, and decided to submit my answer to this question as well. This is not utilizing any of jQuery's deferred methods, which might be a better approach. I haven't explored them enough to have an opinion on the matter.
$("#element").change(function() {
handler().after(callBack($("#element").val()));
}
function handler() {
alert("Event handler");
}
function callBack(foo) {
alert(foo);
}
Demo: JSFiddle
Alireza41
Updated on July 24, 2022Comments
-
Alireza41 almost 2 years
How to call a function once after
change()
event complete?for example, something like this: ( I know jQuery Doesn't have callback method as default )
$('#element').change( function(){ // do something on change // $('#milestonesSelect').multiselect({ minWidth: 120 , height : '200px' ,selectedList: 4 }).multiselectfilter(); // some animation calls ... // ... }, function(){ // do something after complete alert('another codes has completed when i called'); } );
Is it possible to call a single callback after all the codes on change method done, except call a complete callback for every functions on it?
I need to do something after the change event has completed
Shall I need to set order to methods in change handler?
-
Alireza41 about 11 yearsas you said
this will execute code only one time after a change event is fired
but I need to do something after event completed not fired. I don't want to do it at the same time with another executions -
pspahn about 9 yearsAnd what if your events are already triggered in this way? ie.
jQuery('#myelement').on('change', 'select,input', function(){ ... do stuff });
How would you attach a callback after these changes are triggered? -
vivek over 6 yearsevent bubbling link is not working in your answer. Please update for later use.
-
Kamran almost 4 yearshandler().after() is undefined