如何在jQuery插件中编写回调处理程序函数

How to write a callback handler function in jQuery plugin

本文关键字:回调 写回 处理 程序 函数 jQuery 插件      更新时间:2023-09-26

我正在编写一个jQuery插件来处理事件触发后的回调函数。

(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);

在页面中,我想设置一个像这样的自定义回调

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);

如何让回调函数正常工作?

更改代码的顺序。看跌:

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

之前

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

它应该按照你想要的方式工作。

示例:http://jsfiddle.net/niklasvh/k5Wvb/