Я создал плагин, который рисует что-то на окне.
Так что моя проблема связана с более чем одним экземпляром этого плагина. Привязка дала мне только последний экземпляр плагина.
Примерно так:
$("#someThing").draw({"option": "x"});
$("#someThing2").draw({"option": "y"});
Мой плагин draw имеет привязку ("mousedown"), которая рисует что-то, поэтому, когда я нажимаю на #thing2, это работает, если я нажимаю внутри #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
};
Спасибо за помощь.