My problem is that I do not know how to attach callback to the jquery ui dialog show.
The show is actually an option:
$( ".selector" ).dialog({ show: 'slide' });
I want to have a callback after the slide animation is complete. I looked from the effects itself and they have a callback:
effect( effect, [options], [speed], [callback] )
But in the dialog the effect is set up very differently. I tried also putting:
$( ".selector" ).dialog({ show: 'slide', callback: function() {} });
But it didn't work.
Suggestions?
Update 2015-07-27 For anyone using jQuery v1.10.0 or above please see this other answer as my solution will not work with newer versions of jQuery.
Original answer
Already answered but since I had an answer, I'm going to post it anyway…
Shows
open
followed byanimation complete
in the ConsoleI found it necessary to use the "focus:" event. I was losing the correctly selected button because of the show:. Lovely interactions.
I downloaded the jquery ui dev bundle and found out that the callback is set with "complete":
Thanks for everyone trying to help solve this :)
Try to use
open
event of dialog:Two years later, the suggested solution (by @andyb) is no longer working in current versions of jQuery UI (specifically since v1.10.0). His solution relied on the
complete
callback method - an undocumented feature .I've came up with an up-to-date solution, using jQuery
Promise
object:Here is the usual JSFiddle Demo: http://jsfiddle.net/losnir/jcmpm/