Michael: text markieren erschweren / verhindern

Beitrag lesen

Hallo,

da es meiner Meinung nach durchaus Situationen gibt, in denen das sinnvoll ist (z.B. drag'n'drop), schreibe ich Dir zum leidwesen aller, die eher so eingestellt sind wie Cheatah, eine brauchbare Lösung für IE und Moz:
(Wenn du beide Browsertypen berücksichtigen willst, brauchst Du eine Fallunterscheidung, die setze ich im Codebeispiel mit den Variablen ie und moz voraus)
  if (ie) {
   document.onselectstart=new Function ("return false");
  }
  else if (moz) {
   document.getElementsByTagName("body")[0].setAttribute("class", "tempmozbody");
  }
Für IE funktioniert es dann schon ohne weiteres, für Moz ist noch eine Erklärung nötig:
Voraussetzung ist, dass Du im Stylesheet zwei unterschiedliche Styledefinitionen für den body hast. Eine "normale" und eine mit der Du die Selektion verhindern kannst (hier tempmozbody). tempmozbody sieht genauso aus wie die "normale", hat aber noch folgende Regel zusätzlich:  -moz-user-select: none;
Wenn nötig, kannst Du dann zwischen den beiden Klassen umschalten, in dem Du das class-Attribut änderst.

Da es aber meistens auch sinnvoll und hilfreich ist, wenn man Text markieren kann, ist es gut die Selektionsverhinderung wieder abzuschalten, wenn sie nicht mehr benötigt wird und das geht dann so:

if (ie)  document.onselectstart=new Function ("return true");
else  document.getElementsByTagName("body")[0].setAttribute("class", "body");

PS: Da alle, die eher so eingestellt sind wie Cheatah, dies nicht ohne Grund sind, gebrauche solche Mittel wohlüberlegt.

Hoffe, es hilft Dir weiter!?
Viele Grüße

Michael