Outline (gestrichelte Linien) für Links und Mousebedienung abstellen, aber mit der Tab Taste trotzdem Sichtbar lassen.

Wer genaueres wissen will, kann sich hier erkundigen: http://www.tomislav.net/gestrichelte-linie-um-link-verstecken.htm

Nach längerem Überlegen bin ich zum Entschluss gekommen, dass man nur den Focus eines Links während onmousedown mit this.blur() verbieten müsste und beim verlassen des Links mit onmouseup, oder auch onmouseout wieder zu erlauben. Damit wäre die Outline per Mousebedienung unsichtbar, jedoch wenn man die Tastatur benutzt – also die Tab Taste, wieder ganz normal einsatzbereit und sichtbar. Hier der Core des Codes am besten nach onDocumentReady oder nach window.onload (biite nicht in body Tag ein onLoad rein, weil es sich zumindetens im IE nur schwer kontrollieren lässt, falls man die onLoad Anweisung aus dem Body Tag mit übernehmen will. Vielleicht hat da jemand eine Idee.

Sagen wir mal init ist die Funktion, die nach Laden der Site gestartet wird, dann sollte diese Init zumindestens so aussehen, wenn man sonst nix vor hat.

function init()
{
   var a=document.getElementsByTagName('a');

   for (var i=0;i<a.length;i++) {
      a[i].onmousedown = function()
      {
         this.onfocus = function()
         {
            this.blur();
         }
      }
      a[i].onmouseup = function()
      {
         this.onfocus = function(){}
      }
      a[i].onmouseout = a[i].onmouseup;
   }
}

Ich bin ganz stolz auf diese doch so einfache aber dennoch so wichtige Funktion, da die sogar von alice.dsl.de übernommen wurde (ist mittlerweile nciht mehr drin, da relauncht wurde) und meine Seite dort im Quellcode als Referenz stand…..

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.