Kennt jemand eine Möglichkeit, ein Bild in Firefox nicht ziehbar und gleichzeitig nicht auswählbar zu machen, ohne auf Javascript zurückzugreifen? Scheint trivial, aber hier ist das Problem:
1) Kann in Firefox gezogen und hervorgehoben werden:
<img src="...">
2) Also fügen wir dies hinzu, aber das Bild kann beim Ziehen immer noch hervorgehoben werden:
<img src="..." draggable="false">
3) Also fügen wir dies hinzu, um das Hervorhebungsproblem zu beheben, aber dann wird das Bild nicht intuitiv wieder ziehbar. Seltsam, ich weiß! Verwenden von FF 16.0.1
<img src="..." draggable="false" style="-moz-user-select: none;">
Weiß jemand, warum das Hinzufügen von "-moz-user-select: none" "draggable = false" irgendwie übertrumpfen und deaktivieren würde? Natürlich funktioniert das Webkit wie erwartet. In den Interwebs gibt es darüber nichts ... Es wäre großartig, wenn wir gemeinsam etwas Licht ins Dunkel bringen könnten.
Vielen Dank!!
Bearbeiten: Hier geht es darum, zu verhindern, dass UI-Elemente versehentlich gezogen werden, und die Benutzerfreundlichkeit zu verbessern - kein lahmer Versuch eines Kopierschutzschemas :-)
Antworten:
Legen Sie die folgenden CSS-Eigenschaften für das Bild fest:
quelle
Ich habe vergessen, meine Lösung zu teilen. Ohne JS konnte ich keinen Weg finden, dies zu tun. Es gibt einige Eckfälle, in denen das von @Jeffery A Wooden vorgeschlagene CSS nicht behandelt wird.
Dies ist, was ich auf alle meine UI-Container anwende. Es muss nicht auf jedes Element angewendet werden, da es auf alle untergeordneten Elemente angewendet wird.
CSS:
JS:
Das war viel komplizierter als es sein musste.
quelle
<img src="..." draggable="false" style="-moz-user-select: none;" ondragstart="return false;">
, dass es mit dem Code von OP übereinstimmt.Sie können die
pointer-events
Eigenschaft in Ihrem CSS verwenden und sie auf "keine" setzen.Bearbeitet
Dadurch wird das Ereignis blockiert (angeklickt). Eine bessere Lösung wäre also
quelle
Je nach Situation ist es oft hilfreich, das Bild als Hintergrundbild eines
div
mit CSS zu erstellen.Dann in CSS:
In dieser JSFiddle finden Sie ein Live-Beispiel mit einer Schaltfläche und einer anderen Größenoption.
quelle
Sie könnten wahrscheinlich einfach darauf zurückgreifen
quelle
Eine generische Lösung speziell für Windows Edge-Browser (als -ms-user-select: keine; CSS-Regel funktioniert nicht):
Hinweis: Dies erspart Ihnen das Hinzufügen
draggable="false"
zu jedemimg
Tag, wenn Sie das Klickereignis noch benötigen (dh nicht verwenden könnenpointer-events: none
), aber nicht möchten, dass das Drag-Symbol angezeigt wird.quelle
Sie können das Bild als Hintergrundbild festlegen. Da es sich in a
div
befindet und das nichtdiv
zerlegbar ist, ist das Bild nicht zerlegbar:quelle
Ich habe ein div- Element erstellt, das dieselbe Größe wie das Bild hat und über dem Bild positioniert ist . Dann gehen die Mausereignisse nicht zum Bildelement.
quelle