Wie entferne ich den Fokus vom Eingabefeld in jQuery?

Lesezeit: 2 Minuten

Benutzer-Avatar
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.

Benutzer-Avatar
Milind Anantwar

Verwenden .verwischen().

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();

    – Milind Anantwar

    24. September 2014 um 7:57 Uhr


Untersuchung blur():

$('#textarea').blur()

Quelle: http://api.jquery.com/blur/

Für alle Textfelder:

$(':text').blur()

Benutzer-Avatar
Vinayak

$(':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.

$('#myInputID').removeAttr('readonly').trigger('blur').attr('readonly','readonly');

1313050cookie-checkWie entferne ich den Fokus vom Eingabefeld in jQuery?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy