0

我正在寻找一种方法来为我的插件中的方法添加额外的参数。

这个例子我使用了一个更新方法,但它需要一个额外的参数来告诉更新什么。

// 插件封装

  ;(function($, window, document, undefined){

      var pluginName = 'myPlugin01';

      function Plugin(element, options){

          // vars here
      };

      Plugin.prototype = {

          init: function(){

          // init code here

          },
          update: function(param){

              // need the param value in this method
              if(param == 'bottom'){
                  alert('bottom it is...')
              }else{
                  alert('top it is...')
              }

          },
      };

      $.fn[pluginName] = function(option) {
          return this.each(function() {
              var $this   = $(this);
              var data    = $this.data(pluginName);
              var options = typeof option == 'object' && option;
              if (!data){ 
                $this.data(pluginName, (data = new Plugin(this, options)))
              }
              if (typeof option == 'string'){
                   data[option]();
              }
          });
      };

      $.fn[pluginName].defaults = {
          option1: true
      };

  })(jQuery, window, document);

// 我想如何使用它

$('.element').myPlugin('update','bottom');
4

1 回答 1

0

不确定您要做什么,但您可以添加额外的 arg$.fn[pluginName]并将其用于update或任何方法

//Added additional arg
$.fn[pluginName] = function(option, mydata) {

然后在调用部分,

data[option](mydata);
于 2013-03-06T18:22:07.197 回答