Wie fügen Sie Ereignis-listener zu Bild in Leinwand?
Muss ich anfügen, einige Maus-Ereignis auf einem der Bilder in meiner Leinwand.
Ich hab das versucht, aber es ist immer noch doestn nicht funktionieren.
var pointer = new Image();
pointer.src = "/img/line_point.png";
pointer.onload = function() {
context.drawImage(pointer, 55,123);
}
pointer.addEventListener("mouseover", maap, false);
- Leinwand Bibliothek, wie fabric.js.
- Was bedeutet der code Aussehen mit der unten beantworten? Ich habe das gleiche Problem!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie den Ereignis-listener für das canvas-element und dann manuell überprüfen, ob die Ereignisse x und y-Parameter sind über das Bild auf der Leinwand.
einen
canvas
nicht eine Struktur haben, zu erinnern, gezeichnete Objekte hinein. Es ist nur eineflat
canvas-mit Pixeln in es. Wenn Sie brauchen, um Objekte in es wechselnSVG
. Es gibt vieleSVG
Bibliotheken in Javascript. wied3
Raphael
mit einer einfachen svg-Sie können es tun, wie
Können Sie sogar
document.getElementById('myImg')
oderjQuery('#myImg')
zu Ereignisse hinzufügen.Wenn Sie wollen stick mit Leinwand fügen Sie einen Ereignis-listener auf der Leinwand selbst und überprüfen die Koordinaten.
Wiederbelebung alten thread mit entsprechenden Proben aus den jüngsten ausgezeichneten Buch "Core HTML5 Canvas" von David Geary. Diese funktioniert in meiner Anwendung.
Besser, um SVG statt, wenn Sie möchten, befestigen Veranstaltung wie dieser.
Denken Sie an die Leinwand, wie ein whiteboard im Klassenzimmer. Was Lehrer schreibt oder zeichnet auf der Tafel ist der Teil der platine, und Sie können nicht heben Sie alle von Ihnen. Wenn Sie etwas wollen, dass Sie sich aussuchen können, von der platine, die Sie verwenden können, holzweichfaserplatte, an dem Sie die Objekte aus, und verschieben Sie Sie von einer position zur anderen. SVG ist ein Beispiel der holzweichfaserplatte, hier jede Zeichnung (wie Linie, Bogen) sind Objekte, und Sie können hinzufügen, klicken Sie auf die Zuhörer auf Sie.
Wenn Sie möchten, dass die Leinwand zu Verhalten wie ein SVG-Sie haben zu behandeln es. Sie können hinzufügen, klicken Sie auf listener auf der Leinwand und immer dann, wenn ein Ereignis empfangen wird, auf Sie, die Sie benötigen, um zu berechnen, auf welches element das Ereignis aufgetreten ist.