我创建了一个插件,它在页面上只有一个实例时效果很好。
但是它使用全局变量来存储当前项目索引。
当我在页面上放置多个实例时,一切都出错了,因为每个脚本 block 都会混淆,因为页面上有多个相同全局变量的实例。
有什么方法可以“实例化”我添加到页面的每个插件以避免这种情况,所以每个 javascript block 只访问它自己的全局字段/属性?
最佳答案
您可以使用 .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');
通过这种方式,变量直接与您的插件初始化的元素相关联。
关于Javascript/Jquery,用相似的全局变量实例化多个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4873766/