Feuerereignis in Raphael.js

8

Ich habe ein Raphael-Element mit Click-Event-Handler:

%Vor%

Wie kann ich dieses Ereignis manuell auslösen? ( c.click() funktioniert nicht)
Danke!

    
Artur Keyan 14.08.2012, 11:38
quelle

5 Antworten

13

Obwohl diese Frage bereits beantwortet ist, werde ich meine Lösung veröffentlichen, die ich zufällig herausgefunden habe. Es ist möglich mit den Raphael Internals:

Wenn Sie einen Ereignis-Listener wie element.click(func) anhängen, enthält das Objekt element ein Array mit allen Ereignissen. In diesem Array gibt es ein Objekt mit einer Methode f (seltsame Namenskonvention), die das Ereignis auslöst.

Um es zusammenzufassen, können Sie Ihre Veranstaltung mit der Reihenfolge Ihrer Ereignisse aufrufen, in Ihrem Fall gibt es nur das click -Ereignis, das sich auf Index 0 befindet. Sie können es wie folgt nennen: c.events[0].f();

Eine allgemeinere Lösung wäre eine Funktion wie

%Vor%

Aber Vorsicht, wenn Sie mehrere click -Ereignisse hatten, wurden alle ausgelöst.

Hier ist eine Geige zum Vorführen.

    
Dan Lee 14.08.2012, 15:19
quelle
2

Ich habe tatsächlich einen etwas eleganteren Weg gefunden, Kris Methode zu verwenden. Raphael unterstützt die native Erweiterung des Element-Objekts, also habe ich einen kleinen Patch erstellt, um die Trigger-Methode zu raphael hinzuzufügen

hier ist es:

%Vor%

Ich habe eine Js-Geige aufgestellt, um zu zeigen, wie sie funktioniert: hier

    
8-bit Tom 21.08.2013 22:11
quelle
2

Obwohl dies schon vor einiger Zeit beantwortet wurde, suchte ich nach etwas, das etwas "nativer" in der Natur ist. Hier ist, wie ich darüber gehe, ohne auf Mootools oder jQuery angewiesen zu sein.

%Vor%

Dadurch wird im Grunde das Ereignis im Browser erstellt und dann an den Knoten übergeben, der dem Raphaël-Objekt zugeordnet ist.

Hier ist auch der MOZ Link als Referenz: Ссылка

    
Jason Wiener 31.01.2013 22:33
quelle
2

BEARBEITEN:

Die von Dan Lee beabsichtigte Lösung funktioniert besser.

    
Charles Jourdan 14.08.2012 11:50
quelle
0

Ich schreibe dafür ein Plug-in, benutze Event, um die richtige Position zu berechnen;

%Vor%

Verwendung:

%Vor%     
Kris Zhang 12.08.2013 07:44
quelle

Tags und Links