我创建了一个在窗口上绘制东西的插件。
所以我的问题是与这个插件的多个实例绑定。绑定只让我获得了最新的插件实例。
这样的事情:
$("#someThing").draw({"option": "x"});
$("#someThing2").draw({"option": "y"});
我的插件绘制有一个绑定(“mousedown”),绘制一些东西,所以当我点击#something2它有效时,如果我点击#something,我的插件从#someThing2获取属性。
我正在用这种方式开始:
var methods = {
init: function(options) {
return this.each(function() {
$(this).bind("mousedown", function() {
console.log($.fn.draw.defaults); // IT GETS ME ALWAY THE LATEST PLUGIN INSTANCE.
});
});
}
}
// Initializing plugin
$.fn.draw = function(method) {
if(methods[method]) {
return methods[method].apply( this, Array.prototype.slice.call( arguments, 1 ));
} else if(typeof method === 'object' || !method) {
return methods.init.apply(this, arguments);
} else {
$.error('Method ' + method + ' does not exist on jQuery.canvas');
return false;
}
};
// Default options
$.fn.draw.defaults = {
width: '800',
height: '600',
// Mouse positions
mouseX: null,
mouseY: null,
mouseXPrev: null,
mouseYPrev: null,
mousePressed: false,
mode: null,
modes: null
};
感谢您的帮助。