Ho lavorato con Raphael per creare forme drag and drop su una tela. Lo faccio usando la funzione .drag() (fornita nel framework Raphael) insieme alle mie funzioni di evento. Non ho problemi a farlo.Raphael canvas (background) onclick event
Ho anche una funzione che crea una nuova forma su DblClick, il problema è che posso solo associare l'evento a forme o altri elementi che creo.
Aggiunta di eventi a una forma funziona in questo modo:
R = Raphael("canvas", "100%", "100%"),
R.rect(100, 100, 25, 50).attr({fill: fillColor}).dblclick(myDblClick);
Utilizzando lo stesso principio su tela non funziona:
R = Raphael("canvas", "100%", "100%"),
R.dblclick(myDblClick);
Qualcuno sa un modo per collegare cliccare eventi alla tela, cioè posso cliccare ovunque nel div (escluse le forme) e l'evento verrà attivato.
Grazie.
Il problema con questo è che l'evento è ancora chiamato se si fa clic su una forma. Voglio solo che lo sfondo sia applicabile a questo evento. –
All'interno di myDblClick, ispezionare event.originalTarget e se è nodo un "rect" ecc. Quindi attivare un evento personalizzato. $ ('# canvas'). trigger ('dblclick.raphDblClick', {origEvent: event}) ;. Qualcosa su quelle linee dovrebbe funzionare –
Di solito si sposta il 'carta' in giro, quindi' paper.canvas' dovrebbe funzionare anche. – tokland