Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从jquery中的Init函数引用设置对象_Javascript_Jquery - Fatal编程技术网

Javascript 从jquery中的Init函数引用设置对象

Javascript 从jquery中的Init函数引用设置对象,javascript,jquery,Javascript,Jquery,我试图理解jQuery插件以及如何在其他函数中引用对象。所以,我有这个: (function($) { var methods = { init: function (options) { return this.each(function () { var defaults = { var1 : 'variable1', var2 : 'variable2' }; this.sett

我试图理解jQuery插件以及如何在其他函数中引用对象。所以,我有这个:

(function($) {

  var methods = {
    init: function (options) {
      return this.each(function () {
        var defaults  = {
         var1 : 'variable1',
         var2 : 'variable2'
        };
        this.settings = $.extend(defaults,options);
      });
    },
    add: function () {
      // Access settings object here...how??
      alert(this.settings.var1); ????
    }
  };

  jQuery.fn.pluginName = function (method) {
    if (methods[method]) {
      return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
    } else if (typeof method === 'object' || !method) {
      return methods.init.apply(this,arguments);
    } else {
      console.error('Method '+method+' does not exist in plugin. Plugin aborted.');
    }
  };

}(jQuery));
因此,我的问题是,一旦我初始化了插件,当调用“add”函数时,如何引用“add”函数中的设置对象


非常感谢您的帮助。

问题在于
的上下文值

(函数($){
var方法={
初始化:函数(选项){
返回此值。每个(函数(){
var默认值={
var1:'variable1',
var2:'variable2'
};
//这里是dom对象,而不是包装jQuery对象
this.settings=$.extend(默认值、选项);
});
},
添加:函数(){
//这是jQuery对象
返回此值。每个(函数(){
//这里又是dom对象
console.log(this.settings.var1);
})
}
};
jQuery.fn.pluginName=函数(方法){
if(方法[方法]){
返回方法[method].apply(this,Array.prototype.slice.call(arguments,1));
}else if(typeof方法=='object'| |!方法){
return methods.init.apply(这是参数);
}否则{
错误('Method'+Method+'在插件中不存在。插件已中止');
}
};
}(jQuery));
$('div').pluginName({
var1:'x'
});
$('div')。pluginName('add')

如何调用
add()
函数?谢谢Arun,这确实很有帮助。请继续说,您的样板工作得很好,谢谢。