He estado trabajando con Raphael para crear formas de arrastrar y soltar en un lienzo. Lo hago usando la función .drag() (suministrada en el framework de Raphael) junto con mis funciones de eventos. No tengo problemas para hacer esto.Raphael lienzo (fondo) onclick evento
También tengo una función que crea una nueva forma en DblClick, el problema es que solo puedo adjuntar el evento a una forma u otros elementos que creo.
añadir eventos a una forma funciona de esta manera:
R = Raphael("canvas", "100%", "100%"),
R.rect(100, 100, 25, 50).attr({fill: fillColor}).dblclick(myDblClick);
Usando el mismo principio en el lienzo no funciona:
R = Raphael("canvas", "100%", "100%"),
R.dblclick(myDblClick);
¿Alguien sabe de una manera de unir eventos de clic al lienzo, es decir, puedo hacer clic en cualquier parte del div (sin incluir las formas) y el evento se activará.
Gracias.
El problema con esto es que el evento todavía se invoca si se hace clic en una forma. Solo quiero que el fondo sea aplicable a este evento. –
Dentro de myDblClick, inspeccione el event.originalTarget y, si es un nodo "rect", etc., ejecute un evento personalizado. $ ('# canvas'). trigger ('dblclick.raphDblClick', {origEvent: event}) ;. Algo así debería funcionar –
Normalmente mueve el 'paper', por lo que' paper.canvas' también debería funcionar. – tokland