Próbuję uruchomić niestandardowe zdarzenie, które zwróci odroczone.
Używam wyzwalacza wewnątrz wtyczki, więc nie mogę tego zrobić this.options.beforeOpen().done()
... ponieważ w środku beforeOpen()
po stronie klienta $(this)
w tym przypadku zwróci obiekt opcji.
$me.trigger("beforeOpen").
done(function(){
me._open();
})
.fail(function(){
me.state = "closed";
$me.trigger("ifNotOpened." + me.name);
$me.trigger("ifOpenedOrNot." + me.name);
})
Wewnątrz mojego niestandardowego wydarzenia
$me.on( "beforeOpen", function() {
var d = $.Deferred();
setTimeout(function(){ d.resolve() },1000);
return d.promise();
},
Odpowiedzi:
0 dla odpowiedzi № 1Zrozumiałem, jak to zrobić:
var deferred = me.options.beforeOpen.call( $me );
deferred
.done(function(){...})
.fail(function(){...})
Mam nadzieję, że komuś to pomoże.