jquery – 带函数的$.extend()

我正在编写一个jQuery插件,需要执行回调函数,例如,当从< select>中选择一个选项时该插件适用于.

我见过插件,允许你在传递它的选项中定义函数,如下所示:

$('div.foo').pluginBar({ 
    option1: 'red',someEvent: function() {
        // Do stuff
    }
});

我希望能够在我的插件代码中定义认的someEvent函数,但是如果用户在它们传递的选项中定义了该函数,它应该覆盖函数.这是可能的$.extend(),还是我看错了地方?

我已经看了plugin authoring教程,但我认为它不包括在任何地方扩展函数认行为.我已经阅读了有关使用init:函数内容,但我宁愿只能定义一个函数(在插件名称空间内)并使用传递给插件的选项进行更改.

解决方法

这是一个例子:
(function( $) {
  $.fn.pluginBar = function(options) {
      var settings = $.extend( {
          someEvent: function() {
              alert('default');
          }
      },options);

      return this.each(function() {
          settings.someEvent();
      });
  };
})( jQuery );

$('div.foo').pluginBar({ 
    option1: 'red',someEvent: function() {
        alert('custom');
    }
});

如果在连接插件时未指定someEvent,则将使用插件.

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...