Показать сообщение отдельно
  #2 (permalink)  
Старый 03.12.2014, 14:20
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

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(...)
 
};

...

Последний раз редактировалось tsigel, 03.12.2014 в 14:42.
Ответить с цитированием