Hola a todos, hoy quiero compartir con ustedes un proyecto que nació como un ejercicio de aprendizaje del API del nuevo elemento <canvas>, en su momento quise realzar una aplicación web al estilo de paint, pero al implementar los eventos en los objetos dibujados (click, drag) todo se empezó a complicar, así que me puse a buscar una librería que me permitiera el manejo de eventos en el canvas de una forma mas intuitiva y sin la necesidad de escribir tanto código, pero después de mucho buscar y no encontrar nada que se le pareciera empece a crear mi propia librería. y es así como nació canvas-event, una pequeña librería que facilita el manejo de eventos en los objetos dibujados en el canvas por medio de una sintaxis que ya estamos acostumbrados a usar en librerías como jQuery.

algunas de las cosas se pueden hacer son:

  • Manejo de eventos del mouse (click, mouseover, mouseout, focus, blur ...)
  • Eventos del teclado asociados a una combinación de teclas especifica (eje. ctrl+s)
  • Dibujar paths svg gracias a código tomado de canto.js (no iba a reinventar la rueda)
  • Selectores rudimentarios (eje. encontrar todos los rectángulos y cambiar su color)
  • Eventos live (especificar un selector y el evento se aplica a todos los objetos que coincidan con éste)
  • drag and drop

Funciona en todos los navegadores modernos (incluyendo IE9), aun se encuentra en versión beta y falta documentación, pero incluye varios ejemplos de su uso. Agradecería que me dieran sus opiniones, si les parece útil o si ven que algo le falta/sobra. pueden descargarla desde la pagina del proyecto en google code:

http://code.google.com/p/canvas-event-js/

P.D.: Muchas gracias por todo el conocimiento que comparten aquí, gracias al cual he resuelto muchas dudas que me han salido en el camino (el cual hasta ahora comienza) U_U