代码之家  ›  专栏  ›  技术社区  ›  gargantuan

我可以获得jQuery插件中创建的对象的引用吗?

  •  2
  • gargantuan  · 技术社区  · 16 年前

    也许我的大脑被炸了,但我正在写一个插件,它创建了一个元素,同时也创建了一个我想访问的对象。所以插件看起来像这样

    (function ($) {
      $.fn.myPlugin = function () {
        return this.each(function () {
    
              // do some stuff to the element...
    
              this.objectInstance = new usefulObject();
    
        });
      };
    })(jQuery);
    
    function usefulObject(){
        // useful object properties and methods....
    
        this.doSomething = function(){
            alert("Don't google Google. You'll break the internet.");
        }
    }
    

    因此,当我调用插件时,我也希望能够访问我创建的有用对象。我想这样的事情可能有用。。。。

    tweakedElement = $("#someDiv").myPlugin();
    
    tweakedElement.objectInstance.doSomething();
    

    ... 但这不管用。我怎样才能做到这一点?我能做到吗?答案写在明信片上,或者下面,随便哪个适合你。

    1 回复  |  直到 16 年前
        1
  •  1
  •   Evan Senter    16 年前

    你可以储存 objectInstance 使用jQuery的 data 功能:

    http://api.jquery.com/jQuery.data/

    jQuery.data()方法允许我们 将任何类型的数据附加到DOM 循环引用,因此 内存泄漏。我们可以设置几个 单个元素的不同值