Wie entferne ich den Fokus vom Eingabefeld in jQuery?
Lesezeit: 2 Minuten
Benutzer2571510
Ich setze den Fokus auf ein bestimmtes Eingabefeld beim Laden einer Seite mit folgender Zeile:
$('#myInputID').focus();
Kann ich das irgendwie rückgängig machen bzw Entfernen Sie diesen Fokus, wenn Sie den Mauszeiger über ein bestimmtes Element bewegen? (Der Fokus muss nach dem Verlassen dieses Elements nicht zurückgesetzt werden.)
Ich konnte in jQuery keine Funktion finden, die das Gegenteil von der obigen ist oder hier sonst funktionieren würde.
Das Blur-Ereignis wird an ein Element gesendet, wenn es den Fokus verliert. Ursprünglich galt dieses Ereignis nur für Formularelemente wie z <input>. In neueren Browsern wurde die Domäne des Ereignisses auf alle Elementtypen erweitert. Ein Element kann über Tastaturbefehle wie die Tabulatortaste oder durch Mausklicks an anderer Stelle auf der Seite den Fokus verlieren.
$("#myInputID").blur();
Ok, ich glaube, ich mache hier etwas falsch oder ich habe das falsch beschrieben. Das Element, das ich hier verwenden möchte, hat die Klasse navbar (es ist eine Bootstrap 3-Navigationsleiste), also habe ich Folgendes versucht, aber das funktioniert nicht: $(‘.navbar’).on(‘mouseover’, function() { $( ‘#myInputID’).blur(); });
– Benutzer2571510
24. September 2014 um 7:34 Uhr
Ja, das habe ich getan. Wenn dies nicht funktioniert, kann ich stattdessen einfach den Fokus auf die Navigationsleiste setzen?
– Benutzer2571510
24. September 2014 um 7:50 Uhr
@ user2571510: Versuchen Sie, innerhalb des Ereignisses eine Warnung zu geben, und sehen Sie, ob es gefeuert wird oder nicht.
– Milind Anantwar
24. September 2014 um 7:51 Uhr
Ja, die Warnung wird angezeigt, aber der Fokus wird nicht vom Feld entfernt.
– Benutzer2571510
24. September 2014 um 7:56 Uhr
@user2571510: hast du doppelte IDs auf der Seite?? versuchen Sie es mit $("[id=myInputID]").blur();
$(':text').attr("disabled", "disabled"); setzt alle Textfelder in den deaktivierten Modus. Sie können dies auch auf andere Weise tun, indem Sie jeder Textbox-ID eine ID geben. Dadurch wird das Codegewicht größer und es treten Leistungsprobleme auf.
Also besser haben $(':text').attr("disabled", "disabled"); sich nähern.
Wenn Sie haben readonly -Attribut, Unschärfe allein würde nicht funktionieren. Die Vorrichtung unten sollte die Arbeit erledigen.