2012-06-01 36 views
-1

我的標題可能有點不清楚。例如,我有這樣的代碼:jquery插件在準備好時返回給調用者

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

在某一點image_resize_crop插件我寫完成預加載的圖像。我如何將它返回到第一個調用該函數的腳本?

謝謝!

+0

你有什麼企圖??? –

回答

2

您可以trigger一個自定義事件,他們可以訂閱和執行代碼,

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

,他們可以用它

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

或接收oncomplete處理程序插件的設定等這

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

}); 

或作爲設置的一部分obj ECT

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

    } 
}); 

如果你希望將一些數據傳遞給回調可以指導他們,所以像這樣的

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

,並調用該函數時,圖像預加載完成。

在你的插件代碼,你可以這樣調用它

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

哪裏this是什麼,onComplete功能將得到儘可能裏面this變量,ARG1,ARG2是它會得到作爲參數的值。

您也可以使用apply方法。

在這裏閱讀更多:callapply

+0

喜悅,所以我將onComplete屬性傳遞給image_resize_crop函數。然後在插件中,我如何啓動它? –

+0

已更新的答案。 –

+0

完美。謝謝! –