我有3个与此类似的JQuery插件
$(function() {
var Plugin1/2/3 = {
fun1:{}
fun2:{}
...
init: function()
{
o = $.extend({}, this);
}
}
$.fn.Plugin1/2/3 = function(){
return this.each(function(){
var obj = Object.create(Plugin1/2/3);
obj.init();
});
}
}
$(document).ready(function() {
$(document).Plugin1();
$(document).Plugin2();
$(document).Plugin3();
});
我到处都使用变量o
进行扩展。会发生什么,当创建Plugin3时,上面两个插件的所有对象都会被覆盖,所有显示的信息都是第三个插件。
我正在寻找解决方案,以及一些关于Jquery Advance插件创建的好指南。
Pastebin Link: http://pastebin.com/GJTEEjyt
结果:
感谢。
答案 0 :(得分:3)
当您将var
视为理所当然时会发生什么!
init: function() {
var o = $.extend({}, this);
}
并重新:jQuery插件,我已经using this了一段时间了。看一看。