日期:2014-05-16  浏览次数:20381 次

jquery 插件回调函数的问题
提交过来的参数
  $("li").eq(2).click(function() {
  $(this).cbLight({ callback: function() { alert("这里用了回调的函数"); } });
  });

$.fn.cbLight = function(options) {
  var defaults = {
  ftColor: "red", //文字颜色
  bgColor: "blue", //背景颜色
  callback: null
  };
  var o = $.extend(defaults, options);
  $(this).css({ background: o.bgColor, color: o.ftColor });
  if ($.isFunction(o.callback)) {
  alert("为什么没有执行啊");
  o.callback;
  };
  return this; 
};


不知道问题出在那里,请大家帮忙下,

------解决方案--------------------
JScript code

 $("div").click(function() { 
        $(this).cbLight({ callback: function() { alert("这里用了回调的函数"); } }); 
    }); 

$.fn.cbLight = function(options) { 
    var defaults = { 
        ftColor: "red", //文字颜色 
        bgColor: "blue", //背景颜色 
        callback: null 
    }; 
    var o = $.extend(defaults, options); 
    $(this).css({ background: o.bgColor, color: o.ftColor }); 
    if ($.isFunction(o.callback)) { 
        alert("为什么没有执行啊"); 
        o.callback(); //问题出在这里
    }; 
    return this; 
};