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

时间:2010-05-06 19:36:05

标签: javascript jquery

也许我的大脑是炒的,但是我正在编写一个插件来创建一个调整元素,但也创建了一个我想要访问的对象。所以插件看起来像这样

(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 个答案:

答案 0 :(得分:1)

您可以使用jQuery的objectInstance函数将data存储在相关元素上:

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

  

jQuery.data()方法允许我们   将任何类型的数据附加到DOM   元素以一种安全的方式   循环引用,因此来自   内存泄漏。我们可以设置几个   单个元素的不同值   并在以后检索它们