Wie kann verhindert werden, dass Text außerhalb von HTML5-Canvas bei Doppelklick ausgewählt wird?

8

(In jedem Browser, den ich ausprobiert habe), wird durch Doppelklicken auf einen HTML5-Canvas beliebiger Text ausgewählt, der unmittelbar auf das canvas-Element folgt. Ich würde es vorziehen, die Klicks auf die Leinwand beschränkt zu halten.

(Nb: Ich möchte die Textauswahl nicht vollständig deaktivieren (zB wie dies ): Wenn Sie auf den zu markierenden Text doppelklicken, möchte ich nicht, dass die Klicks aus der Zeichenfläche "auslaufen".)

Ist das möglich?

Hier ist eine einfache Seite , die das Problem veranschaulicht.

    
gimboland 10.09.2010, 11:36
quelle

3 Antworten

33

Zunächst möchte ich feststellen, dass Ihre Leinwand die Breite der Seite nicht ausfüllt, sondern nur 100 Pixel breit ist. Die canvas-Attribute Breite und Höhe werden immer mit Pixeln analysiert, sodass das Schreiben von width="100%" für das Canvas-Tag nur 100 Pixel bedeutet.

Um Ihre Frage zu beantworten, schreiben Sie in javasript:

%Vor%

Das Doppelklick-Textproblem tritt nicht mehr auf.

    
Simon Sarris 10.09.2010, 14:34
quelle
1

Ich bin auf einen sehr ähnlichen Umstand gestoßen, bei dem ich die Möglichkeit zum Ziehen und Ablegen von Elementen auf der Seite mithilfe von JavaScript aktiviert habe.

Um dieses Problem zu lösen, haben Sie die Möglichkeit, das Textauswahlereignis und bei der Erfassung des Ereignisses zu erfassen, wenn Sie false zurückgeben, wird die Auswahl nie stattfinden.

Um ein gutes Beispiel dafür zu geben, verwenden Sie bitte: Ссылка

Alternativ, wenn Sie mit dem jQuery-Framework vertraut sind, finden Sie ein perfekt vereinfachtes und effektives Plugin unter: Ссылка

Wettet Glück für Sie!

    
Joshua Burns 10.09.2010 14:19
quelle
1

Versuchen Sie, Ihr Canvas-Objekt in einem div hinter all dem anderen HTML-Code zu platzieren. Ich hatte dieses Problem, alles, was ich tun musste, war, meine Floating-CSS-DIVs vor (über) dem Canvas-Tag in den Code (der in einem div enthalten war) zu setzen.

Ich dachte, ich würde das nur für den Fall schreiben, dass es anderen hilft.

    
Chris 07.03.2012 13:21
quelle

Tags und Links