How to write a callback handler function in jQuery plugin

I am writing a jQuery plugin to handle a callback function after an event fires.

(function($){ return $.fn.myPlugin = function (options) { var defaults = { callback:defaultCallback, many_more_params:'default etc', many_more_params2:'default etc', etc:'default etc' } var settings = $.extend(defaults, options); var defaultCallback = function (params) { // do default actions with params } $(this).click (function () { var params = { param1:'hello', param2:'goodbye'}; settings.callback(params); }); }; })(jQuery); 

On this page, I would like to set up a custom callback like this

 function customCallback (params) { // do custom actions with params } var opt = { callback:customCallback, many_more_params:'etc', many_more_params2:'etc', etc:etc } $('#id').myPlugin(opt); 

How can I let the callback function work correctly?

+4
source share
1 answer

Change the code order. Placed:

 var defaultCallback = function (params) { // do default actions with params } 

before

 var defaults = { callback:defaultCallback, many_more_params:'default etc', many_more_params2:'default etc', etc:'default etc' } 

and it should work the way you want.

Example: http://jsfiddle.net/niklasvh/k5Wvb/

+4
source

All Articles