Jquery插件准备好后返回调用者

时间:2012-06-01 11:36:42

标签: jquery jquery-plugins

我的头衔可能有点不清楚。例如,我有这段代码:

$('#element').image_resize_crop();

在某一点上,我写完的image_resize_crop插件已经完成预加载图像。如何将其返回到首先调用该函数的脚本?

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以trigger他们可以订阅并执行代码的自定义事件,

$(elem).trigger('preloadComplete');

他们可以使用它

$('#element').on('preloadComplete',function(){
    // do what they want
})

或接收oncomplete处理程序作为此插件的设置

$('#element').image_resize_crop(function(){

});

或作为设置对象的一部分

$('#element').image_resize_crop({
     onComplete: function(){

     }
});

如果您想将一些数据传递给该回调,您可以像这样指示它们

$('#element').image_resize_crop({
     onComplete: function(data){
       // utilize data passed from plugin
     }
});

在图像预加载完成后调用该函数。

在您的插件代码中,您可以将其称为

settings.onComplete.call(this,arg1,arg2);

其中thisonComplete函数将在其中获取this变量的地方,而arg1,arg2是它将作为参数获取的值。

您也可以使用apply方法。

在此处阅读更多内容:callapply