我正在尝试触发自定义事件,将返回延迟。
我在插件中使用了触发器,因此我不能只执行this.options.beforeOpen().done()
...因为在这种情况下,客户端beforeOpen()
内的$(this)
将返回选项对象。
$me.trigger('beforeOpen').
done(function(){
me._open();
})
.fail(function(){
me.state = 'closed';
$me.trigger('ifNotOpened.' + me.name);
$me.trigger('ifOpenedOrNot.' + me.name);
})
在我的自定义活动中
$me.on( 'beforeOpen', function() {
var d = $.Deferred();
setTimeout(function(){ d.resolve() },1000);
return d.promise();
},
答案 0 :(得分:0)
我意识到该怎么做:
var deferred = me.options.beforeOpen.call( $me );
deferred
.done(function(){...})
.fail(function(){...})
希望能帮助别人。