Aktiviere die Pseudo-Klasse eines Elements: active CSS mit Javascript?

8

Ist das möglich?

Wenn beispielsweise ein Benutzer die "Return" -Taste drückt und das "mousedown" -Ereignis auslöst, wie rende ich das Element auch mit: active styles?

Ich weiß, dass es möglich ist, dies mit Klassen zu tun, aber ich bevorzuge es, die bereits existierenden: aktiven Stile zu verwenden.

    
Evan Sharp 12.11.2011, 01:34
quelle

1 Antwort

4

Gemäß der CSS 2.1-Spezifikation gilt die: active-Pseudoklasse während:

  

Ein Element wird vom Benutzer aktiviert. Zum Beispiel zwischen dem   Mal, wenn der Benutzer die Maustaste drückt und die Maustaste loslässt.

Sie sollten in der Lage sein, ein mousedown-Ereignis mit dem Betreffelement als Ereignisziel zu versenden, und es sollte aktiv bleiben, bis ein passendes mouseup-Ereignis ausgelöst wird. Wenn es funktioniert, wird es wahrscheinlich nicht zuverlässig genug funktionieren, um es nützlich zu machen.

Es wäre viel einfacher (und breiter unterstützt), eine geeignete Klasse hinzuzufügen / zu entfernen.

Bearbeiten

Hier ist ein Beispiel für die Verwendung von DOMActivate. Sie können sehen, dass das Senden eines activate-Ereignisses für ein Element den zugehörigen onactivate-Listener auslöst, aber nicht das Erscheinungsbild des aktivierten Elements ändert.

Vielleicht können Sie die Aktivierung simulieren, indem Sie auf das activate-Ereignis warten, eine Klasse hinzufügen, um das Element hervorzuheben, und sie dann nach einigen Augenblicken mit setTimeout oder ähnlichem entfernen.

%Vor%     
RobG 12.11.2011 02:27
quelle

Tags und Links