2010-05-06 83 views
2

也許我的大腦被炸了,但是我正在寫一個創建一個元素的插件,同時也創建了一個我想要訪問的對象。所以這個插件看起來像這樣我可以獲得對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(); 

...但那不工作。我怎樣才能做到這一點?我可以做到這一點嗎?明信片上的答案,或下方的,以適合您爲準。

+0

什麼是您的家庭住址?你想要什麼明信片? – 2010-05-06 19:39:29

+2

123 Fake Street - 赫爾曼德省 - 阿富汗。而任何胸部上的東西就足夠了。 – gargantuan 2010-05-06 19:42:01

+0

+1供IT人羣參考。但我無法幫助你。 – 2010-05-06 19:44:08

回答

1

您可以使用jQuery的data功能來存儲有問題的元素上objectInstance

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

的jQuery.data()方法允許我們 附加任何類型的數據,DOM 元素從 循環引用,因此從 內存泄漏安全的方式。我們可以爲單個元素 設置幾個不同的值 ,並稍後檢索它們

+0

你真棒。謝謝! – gargantuan 2010-05-06 20:23:31

+0

沒問題,希望它有幫助! – 2010-05-10 14:56:59

相關問題