jquery触发器返回延迟

时间:2012-11-08 16:50:56

标签: jquery plugins triggers deferred

我正在尝试触发自定义事件,将返回延迟。
我在插件中使用了触发器,因此我不能只执行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();
                    },

1 个答案:

答案 0 :(得分:0)

我意识到该怎么做:

var deferred = me.options.beforeOpen.call( $me );
    deferred
        .done(function(){...})
        .fail(function(){...})

希望能帮助别人。

相关问题