2011-02-02 45 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'); 

这样的变量直接与你的插件被初始化的元素相关联。