Mittwoch, 15. Oktober 2008

Verhindern von Focus-Rahmen

In manchen Fällen macht es Sinn, beim Klick auf ein Element den durch die Fokussierung entstehenden Rahmen zu verhindern. Konkret ist das sinnvoll, wenn durch den Klick kein Laden einer neuen Seite eingeleitet wird, sondern lediglich über DHTML eine Änderung der bestehenden Seite ausgelöst wird (Klick auf einen Reiter etc.). Um dieses Verhalten möglichst generisch und browserkompatibel zu erzeugen, wurde von mir ein JavaScript geschrieben, welches diesen Effekt automatisch an alle Elemente mit einer bestimmten CSS-Klasse bindet. Über ein getElementsByClassname werden dabei zwei Events (onmousedown und onblur) an diese Elemente gebunden, welche beim Eintreten dieser Events eine CSS-Klasse 'blur' hinzufügen bzw. wieder entfernen. Diese CSS-Klasse wiederum verhindert mit der Eigenschaft outline: 0; den unerwünschten Focus-Rahmen.
Die Lösung hat den großen Vorteil, daß ein Fokussieren des Elements mittels Tastatur-Steuerung weiterhin einen in dem Fall notwendigen Rahmen darstellt. Zum Umgang mit den Events und CSS-Klassen habe ich die YUI von Yahoo! verwendet.

Trackbacks

Verhindern von Focus-Rahmen - Teil 2
Ich hatte vor einer ganzen Weile hier im Blog einen Vorschlag gemacht, wie sich mit Hilfe von JavaScript der Focus-Rahmen beim Klicken eines Elementes mit der Maus verhindern läßt. Gerade eben bin ich auf einen Artikel gestoßen, der eine viel simplere Lös
Weblog: Nico Steiner - Frontend-Entwicklung und -Architektur
Aufgenommen: Okt 12, 21:39

Kommentare

Ansicht der Kommentare: (Linear | Verschachtelt)
Noch keine Kommentare

Kommentar schreiben


Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.

Um maschinelle und automatische Übertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden. Bitte beachten Sie, dass Ihr Browser Cookies unterstützen muss um dieses Verfahren anzuwenden.
CAPTCHA

 
 

Blog abonnieren

RSS 2.0 Feed

Suche

Kalender

Zurück Juli '10 Vorwärts
Mo Di Mi Do Fr Sa So
      2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 23 24 25
26 27 28 29 30 31  

Verwaltung des Blogs

Blogroll

Projects/Web

vCard

  • Nico Steiner
  • www.nicosteiner.de
  • Karlsruhe/Germany
  • Senior Frontend-Developer at 1&1