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.
Archive
- Februar 2012 (1)
- Oktober 2011 (1)
- August 2011 (2)
- April 2011 (1)
- Oktober 2010 (6)
- September 2010 (5)
- August 2010 (3)
- Juli 2010 (2)
- Juni 2010 (3)
- Mai 2010 (9)
- April 2010 (8)
- März 2010 (13)
- Februar 2010 (10)
- Januar 2010 (11)
- Dezember 2009 (8)
- November 2009 (6)
- Oktober 2009 (10)
- September 2009 (9)
- August 2009 (12)
- Juli 2009 (16)
- Das Neueste ...
- Älteres ...
Trackbacks
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
Aufgenommen: Okt 12, 21:39