2011-02-02 46 views
1

我有一個插件我創建時只有一個頁面上的它實例,它的偉大工程。使用Javascript/jQuery的,實例化多個教學班,類似的全局變量

但是它使用一個全局變量來保存當前項目索引。

當我把這種多個實例在頁面上,這一切都錯了,因爲每次腳本塊會很困惑,因爲在頁面上相同的全局變量的多個實例。

有什麼辦法可以'實例化'我添加到頁面的每個插件,以避免這種情況,所以每個JavaScript塊只訪問它自己的全球字段/屬性?

回答

2

您可以將變量連接到使用.data()元素:

$(this).data('my-plugin', someValue); 
// Note: if the above line is in a regular jQuery plugin ($.fn.myPlugin = ...) 
// then 'this' does not need to be wrapped. 

與重新找回它:

$(this).data('my-plugin'); 

這樣的變量直接與你的插件被初始化的元素相關聯。