我正在编写一个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);
如何让回调功能正常工作?
答案 0 :(得分:4)
更改代码的顺序。放:
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'
}
它应该以你想要的方式工作。