jQuery: bind two events -


i have div called mydiv. how call 2 functions 1 after other when user clicks it?

$('#mydiv').click(function () {     action1() // wait until finishes , call action2 }); 

action1 function in script that's loaded in master page , action2 small inline script function that's different in every page means can't call action2 action1 because name action2 different on every page.

if action1 , action2 aren't asynchonous, can do:

$('#mydiv').click(function () { action1(); action2() }); 

if asynchonous, can couple of things. callbacks:

action1 = function(callback) {   //stuff   callback(); } $('#mydiv').click(function () { action1(this) }); 

note you're not calling action2 when pass it. passing function.

you fire event action1 , tell action2 listen event (working memory here):

action1 = function(element) {   //stuff   $(element).trigger('action1_finished') } $('#mydiv').click(function () { action1(this) }).bind('action1_finished', action2) 

Comments

Popular posts from this blog

apache - Add omitted ? to URLs -

redirect - bbPress Forum - rewrite to wwww.mysite prohibits login -

php - How can I stop spam on my custom forum/blog? -