jQuery插件多个实例未接收默认设置

时间:2012-03-03 05:01:57

标签: jquery plugins settings instances defaults

我正在编写一个插件,并且已经遇到并发布了这个问题,从搜索stackoverflow,了解什么是错误的,但不知道如何编写它。

这个插件现在很长,所以我只删除了基础知识。该插件工作正常,并加载第一个对象的所有默认设置。用户设置会正确覆盖默认值。一切都适用于1个插件调用。一旦调用了另一个插件实例,记录的唯一内容就是传入的设置 - 所有其他默认设置甚至都没有显示....从环顾四周我认为我需要使用.data ?但我不确定,并且宁愿知道如何工作而不仅仅是复制和粘贴代码...所以希望有人可以帮我解决明确的问题。下面是我修改过的代码:

;(function($){ 
   jQuery.fn.OnStage=function(options){ 
      var defaults={ ... default settings ... }, 
      o=$.extend(true, {}, defaults, options); return    
this.each(function(){ ....                                                  

谢谢!

1 个答案:

答案 0 :(得分:1)

您的选项对象是全局....更改为

var  o=$.extend

通过将它们设为全局,它们将获取最后一组的值,并且对于所有实例都是相同的

编辑:将您的设置添加到元素数据是一种常见做法,可以在控制台中轻松检查值