Programmgesteuert den Standard-Hover-Effekt des Browsers bei der HTML-Eingabe auslöst

8

Überlegen Sie:

%Vor%

Wenn Sie die Maus über den Radio-Button oder das Label bewegen, wird der Radiobutton hervorgehoben. Verschiedene Browser markieren es anders, aber es sieht wie ein Standardverhalten aus. Jetzt sagen wir, es gibt ein

%Vor%

irgendwo anders auf der Seite. Gibt es eine Möglichkeit, diese Standard-Hervorhebung des Optionsfelds auszulösen, wenn Sie die Maus über div#bla bewegen?

BEARBEITEN: Um das klarzustellen, habe ich versucht, eine native Pseudo-Klasse ": hover" eines Elements auszulösen, was nicht möglich ist. Spezifikation

    
Dimskiy 19.05.2015, 16:12
quelle

5 Antworten

3

NUR FÜR INFO

Normalisieren Sie Ihren Hover-Effekt über verschiedene Browser:

%Vor%

Sie können auch: active,: checked,: before,: after verwenden, um weitere Stile hinzuzufügen.

ANTWORT AUF IHRE FRAGE

Ihre Frage erfordert, den Hover-Effekt mit etwas Javascript zu behandeln.

%Vor%

BEARBEITEN:

Meine Lösung erfordert die Verwendung von CSS. Was Sie erhalten möchten, ist das Hinzufügen einer Pseudoklasse (: Hover) zu einem Element. Das ist nicht möglich. Siehe diese SO Frage für weitere Details.

    
Lelio Faieta 19.05.2015, 16:21
quelle
1

Aus der Spezifikation :

  

Mehr als ein label kann demselben Steuerelement zugeordnet sein, indem mehrere Referenzen über das for -Attribut

erstellt werden

Wenn Sie das tun, können Sie einfach Ihre div in eine andere label umwandeln, um genau das zu erreichen, was Sie wollen, ohne CSS oder JavaScript zu benötigen.

Beachten Sie, dass, wenn dieses neue label kein Nachkomme des Formulars input ist, Sie das Attribut form verwenden sollten, um die ID des Formulars

anzugeben

Natürlich, wenn Sie nicht möchten, dass der Fokus auf das input Element übertragen wird, wenn Sie auf den zweiten label klicken, dann benötigen Sie ein wenig JavaScript, aber ich würde nicht Ich empfehle das.

    
Shaggy 19.05.2015 17:39
quelle
0

Sie können das Hover-Ereignis nicht über Javascript erzwingen, Sie müssen es simulieren. Sie können eine CSS-Klasse erstellen, die die gewünschten Effekte erzeugt. Sie können einen Rahmen oder etwas verwenden. Dann können Sie diese Klasse über Javascript umschalten. Hier ist ein Code, der jQuery verwendet.

%Vor%     
Greg 19.05.2015 16:20
quelle
0

Sieh dir das Ссылка

an %Vor%     
Ramanathan Muthuraman 19.05.2015 16:24
quelle
0

Lösung mit nativem Javascript. Sie können auf Klickereignis auf #bla element warten. und setzen Sie dann den aktivierten Wert des Optionsfelds auf Klick und Effekte auf Mouseover- und Mouseout-Effekt.

%Vor% %Vor% %Vor%
    
jad-panda 19.05.2015 16:23
quelle

Tags und Links