2010-06-10 13 views
47

Kann jemand den (in den meisten Browsern) gestrichelten Rahmen eines dom-Elements deaktivieren oder manipulieren, wenn er den Fokus in einer Tabindex-Reihenfolge hat?Fokusrahmen des Browsers per Javascript entfernen oder deaktivieren

Ich möchte meinen eigenen Stil für ein fokussiertes Element erstellen, aber es wäre großartig, das vorhandene Feature zu verwenden, denn mit tabindex ist es möglich, das Keydown-Ereignis an das dom-Element zu binden.

Antwort

119

einfach eine CSS-Regel machen für die Elemente, die Sie, die outline:none;

+0

omg wusste das nicht. Vielen Dank! – helle

+3

@helle :) das ist, was * stack overflow * ist alles über .. lernen neue dinge;) –

+0

.. ich arbeite mit css für so lange. das brauchte ich bis jetzt noch nicht ... lol – helle

-6

jQuery verwenden können Sie tun

$("#nav li a").focus(function(){ 
    $(this).blur(); 
}); 
+0

mit Unschärfe verlieren i den Fokus, ist es nicht? so kann ich Keydown Ereignis sowie Mausrad nicht binden ... – helle

+0

Richtig, habe nicht die ganze Frage bekommen;) –

+9

Das ist wirklich eine schreckliche Antwort – coorasse

0
input::-moz-focus-inner { border: 0; } 
25

CSS Trick haben wollen:

:focus { outline: none; } 
1
a { 
outline: 0; 
} 

a: hover, 
a: active, 
a: focus { 
    outline: none; 
} 

input::-moz-focus-inner { 
border: 0; 
} 
1

Mit Firefox 53.0, wenn ich die Gliederung mit einer der vorgeschlagenen Lösung deaktivieren, zeigt Firefox die Standardlösung an.

Allerdings, wenn ich eine leere Farbe verwenden, ist es nicht erkennt, dass der Umriss verborgen ist:

input:focus{ 
    outline: 1px solid rgba(255,255,255,1); 
}