Marco: Text nicht selektierbar machen

Hallo,

ich suche nach einer Crossbrowserlösung die es der Maus verbietet, Elemente oder Text zu markieren.

Aber bevor jetzt wieder jemand mit einem Vortrag über Informationsfreiheit etc. kommt: Es geht nicht darum, dem Benutzer das Kopieren von Texten zu verbieten, sondern um eine Drag'n'Drop-Routine, die ich mittels JavaScript geschrieben habe.
Das Problem: Wenn beim Ziehen mit der Maus zufällig Textinhalt eines Elements markiert wird, kann man das Element nicht mehr ziehen, sondern es erscheint nur noch dieses "Stop, nicht verschiebbar"-Icon. Und das ist extrem störend.

Die Lösung sollte mindestens im IE, beim FireFox und in Opera funktionieren.
Beim IE scheint es ja das Attribut unselectable zu geben - bei den beiden anderen Browsern bin ich ratlos.

Ich bedanke mich für eure Zeit!

  1. Hell-O!

    ich suche nach einer Crossbrowserlösung die es der Maus verbietet, Elemente oder Text zu markieren.

    Eventuell hilft dir dieser Archivthread weiter.

    Siechfred

    --
    Hier könnte Ihre Werbung stehen.
    Viel Lärm um nichts || Die neue 1%-Regelung
  2. Hallo Marco.

    ich suche nach einer Crossbrowserlösung die es der Maus verbietet, Elemente oder Text zu markieren.

    […]

    Die Lösung sollte mindestens im IE, beim FireFox und in Opera funktionieren.
    Beim IE scheint es ja das Attribut unselectable zu geben - bei den beiden anderen Browsern bin ich ratlos.

    Zumindest bei Gecko-basierten Browsern gibt es die proprietäre -moz-user-select-Eigenschaft, womit du das Markieren unterbinden kannst.

    Für Opera ist mir aber keine Möglichkeit bekannt.

    Einen schönen Mittwoch noch.

    Gruß, Ashura

    --
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
    „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
    [HTML Design Constraints: Logical Markup]
  3. Hallo,

    Wenn ich im Forumsarchiv nach »markieren verhindern« suche, finde ich dutzende Diskussionen, darunter http://forum.de.selfhtml.org/archiv/2006/6/t131340/#m849586. Diese Lösung funktioniert aber nicht im Opera.

    Das Zurücksetzen geht dann analog:

    document.onselectstart = null;  
    document.body.style.MozUserSelect = 'text';
    

    Im Opera könntest du versuchen, die Standardbehandlung des Klicks bzw. Mousedown-Events zu unterdrücken (eventobjekt.preventDefault()) - das nur als Idee.

    Mathias

    1. Dankeschön - im IE und FireFox funktioniert das jetzt wunderbar. Bezügl. Opera tappe ich weiterhin im Dunkeln. Wenn jemand noch eine Idee hätte, wäre ich sehr dankbar.

      1. Dankeschön - im IE und FireFox funktioniert das jetzt wunderbar. Bezügl. Opera tappe ich weiterhin im Dunkeln. Wenn jemand noch eine Idee hätte, wäre ich sehr dankbar.

        ------------------

        Ok ich bin schon etwas weiter. Im Opera hat es mittels e.preventDefault funktioniert, wobei ich dies im passenden onmousedown-Event aufgerufen habe. Allerdings lässt sich nun überhaupt nichts mehr selektieren (im ganzen Dokument), auch nach dem Drag'n'Drop, und das ist zuviel des Guten. Kann ich das Selektieren wieder möglich machen?

        1. Hallo,

          Im Opera hat es mittels e.preventDefault funktioniert, wobei ich dies im passenden onmousedown-Event aufgerufen habe. Allerdings lässt sich nun überhaupt nichts mehr selektieren (im ganzen Dokument), auch nach dem Drag'n'Drop, und das ist zuviel des Guten. Kann ich das Selektieren wieder möglich machen?

          Du musst natürlich nur den Mousedown-Event abfangen, der das Dragging aktiviert. Alle anderen Klicks sollten nicht betroffen sein, also verstehe ich nicht, wieso plötzlich bei einem abgefangenen Mousedown alle folgenden Klicks ebenfalls nicht mehr die Standardaktion auslösen... Am besten zeigst du mal den verantwortlichen Code.

          Mathias