Siend,
Если каждый инстанс рисовалки позиционируется как отдельный не зависящий ни от чего модуль, то тогда, конечно, правильней будет ему вешать свой обработчик на свой канвас.
Цитата:
|
2 - это навешать на каждый canvas свой собственный ивент клика.
Реализацию первого варианта я еще смутно представляю, второй для меня дикость.
|
При создании рисовалки кидаете ей в конструктор канвас с которым ей работать. Например создание рисовалок:
/**
* Массив рисовалок
* @type {Array}
*/
var grafEditors = [];
Array.prototype.forEach.call(document.querySelectorAll("canvas"), function (canvas) {
grafEditors.push(new GrafEditor(canvas));
});
Набросок рисовалки:
/**
* @class GrafEditor
* @constructor
* @param {HTMLCanvasElement} canvas
*/
var GrafEditor = function (canvas) {
this.canvas = canvas;
this.setHandlers();
};
/**
* @method setHandlers
*/
GrafEditor.prototype.setHandlers = function () {
this.canvas.addEventListener(...)
};
...