Focusin-und focusout-Methoden funktionieren nicht in firefox

Habe ich eine Liste wie diese:

<ul class="tabs-dropdown">
    <li><a href="/home">Home</a></li>

    <li>
        <a href="javascript:">French Alps</a>
        <div>
            <ul>
                <li><a href="/region/french-alps/about">About</a></li>
                <li><a href="/region/french-alps/properties">Properties</a></li>
            </ul>
        </div>
    </li>

    <li>
        <a href="javascript:">Swiss Alps</a>
        <div>
            <ul>
                <li><a href="/region/swiss-alps/about">About</a></li>
                <li><a href="/region/swiss-alps/properties">Properties</a></li>
            </ul>
        </div>
    </li>

    <li><a href="/finance">Finance</a></li>
    <li><a href="/contact">Contact Us</a></li>
</ul>

und etwas javascript wie diese:

var element = angular.element(document.querySelector('ul'));

element.children().on('focusin', function () {
    angular.element(this).addClass('focused');
}).on('focusout', function () {
    angular.element(this).removeClass('focused');
});

Hier ist die Geige mit den code

Grundsätzlich möchte ich die erste Liste, die Elemente an rot zu werden, wenn irgendeiner Ihrer Nachkommen haben Fokus. Ich bin empfangsbereit für die focusin-und focusout-Ereignisse auf der ersten Liste, die Elemente, dies zu erreichen.

Die beste Möglichkeit, um den Fokus auf die Elemente im Beispiel ist die Registerkarte, um Sie.

Dies funktioniert gut in Chrome und IE aber nicht im Firefox, und ich kann nicht denken, warum.

Jegliche Hilfe würde sehr geschätzt werden.

Wenn Ihr Euch fragt, warum ich Tue dies, AngularJS und jQuery nicht, weil dieser code ist Teil eines Winkel-Richtlinie und dies ist nur der Teil, der nicht funktioniert.

  • Firefox nicht unterstützt focusin und focusout Ereignisse
  • Ah okay. Danke für die Antwort. Wissen Sie, jeder Weg, um dieses Verhalten nachahmen, oder ist es nur etwas, was ich akzeptieren sollte, kann ich das nicht?
  • Sie können focus oder mouseenter statt focusin und verwenden blur oder mouseout für focusout
  • Auch für die Manipulation des DOM mögen, sollten Sie wahrscheinlich verwenden Sie eine Richtlinie.
  • Nein, die focus und blur Veranstaltungen nicht Blase zu übergeordneten Elementen.
  • Ja, dieser code ist Teil einer Richtlinie, ich nahm es heraus für das Beispiel. Und ja @runTarm Sie haben Recht, ich kann nicht nur Schärfe und Unschärfe, wie ich brauche, das Ereignis zu sprudeln aus dem anchor-element bis zu seinem übergeordneten <li>
  • Ja das ist, warum ich erwähnt habe mouseenter und mouseleave
  • Wie werden Maus-Ereignisse ähnlich wie auf focus / blur-events? Dieser code wird verwendet, um zu zeigen, sub-Listen, wenn der Benutzer den Fokus auf ein übergeordnetes element in der Liste durch drücken der Tabulatortaste, um es. Maus-events sind alle fertig in CSS mit der :hover-pseudo-Selektor.

InformationsquelleAutor Ben Guest | 2014-07-17
Schreibe einen Kommentar