get click event of each rectangle inside canvas?
Weiter mehr, habe ich festgestellt, dass diese Antwort nicht in Mozilla funktioniert.
Verwenden Sie stattdessen clientX anstelle von offsetX.
Beispiel, ich habe eine dynamische Leinwand Fotogalerie auf Github aufgestellt: https://github.com/michaelBenin/fi-test
Jedes Mal, wenn die Fenstergröße verändert wird neu berechnen ich die x, y, jedes Bild gezeichnet, von dort laufe ich die Kollisionen Funktion, wenn die Leinwand wird angeklickt.
Grundsätzlich erhalten Sie den x, y-Wert aus dem click -Ereignis und überprüfen Sie, ob sich an diesen Koordinaten etwas auf der Zeichenfläche befindet.
Hier ist eine weitere gute Verbindung ist Click-Ereignisse auf Registrierung innerhalb der Leinwand: http://eli.thegreenplace.net/2010/02/13/finding-out-the-mouse-click-position-on-a-canvas-with-javascript/
Wenn Sie Eine Canvas-Bibliothek wie Fabric.js würde die Klickerkennung der zugrunde liegenden Form übernehmen. Zum Beispiel: 'canvas.add (myImg); myImg.on ('click', function() {console.log ('Bild wurde angeklickt')}) ' – kangax