Heim  >  Artikel  >  Web-Frontend  >  Teilen Sie die Lösung für das Problem, das JQuery Blur nicht auslöst

Teilen Sie die Lösung für das Problem, das JQuery Blur nicht auslöst

黄舟
黄舟Original
2017-06-26 14:19:062920Durchsuche

Der Code lautet wie folgt

$("#username").blur(function(){
        alert("ass");//鼠标点击Blur 按tab键在第一次的时候没有触发
        $.getJSON("send.php?action=get_&n="+Math.random(),function(data) {
            if (data.res!=="none"){
                  
              setTimeout("$('#gb_tip_layer').hide('100');",5000); 
             }
        });
         
    });
 
<input name="username" type="text" class="text-input" id="username"/>

Der Effekt, den ich erreichen möchte, besteht darin, eine Anfrage Abfrage auszulösen, wenn das Textfeld für den Benutzernamen unscharf ist. Das Problem besteht jedoch darin, dass die an das Unschärfeereignis gebundene -Funktion nicht ausgelöst wird, unabhängig davon, ob die Maus an eine andere Stelle auf der Seite klickt oder die TAB-Taste drückt, um zum nächsten Formularelement zu gelangen. Die Unschärfe wird erst ausgelöst, wenn erneut darauf geklickt wird. Wie ist die Situation? Wie kann man es lösen? Danke!

Unschärfe wird durch den Fokus des Ereignisses ausgelöst. Sie wird ausgelöst, solange der Cursor das Benutzernamen-Textfeld verlässt.

Das Unschärfeereignis muss zuerst auf dieses Ereignis fokussiert werden 🎜> Kontrolle

Wann wird es nur ausgelöst, wenn die Kontrolle den Fokus verliert? Ich frage mich, wie der ursprüngliche Poster dieses Ereignis versteht.

Sie entfernen zuerst den Absatz

und versuchen zu sehen, ob die Funktion ordnungsgemäß funktioniert
$.getJSON("send.php?action=get_&n="+Math.random(),function(data) {
            if (data.res!=="none"){
                 
              setTimeout("$(&#39;#gb_tip_layer&#39;).hide(&#39;100&#39;);",5000); 
             }
        });


Was ich will, ist wann Die Eingabe ist abgeschlossen. Wenn der Fokus auf das nächste Textfeld verschoben wird, löst der Wert in Benutzername eine Funktion aus, um zu erkennen, ob die Daten in Benutzername vorhanden sind. . .

Was frustrierend ist, ist, dass die erste Unschärfe die Bindungsfunktion nicht auslöste und erst beim zweiten Unschärfen eine Wirkung zeigte...

Der Code ist in „ready“ platziert. Das ist es
$("document").ready(function validate(){  }


Ich habe vergessen zu erklären, $("#username") wird in der div-Popup-Ebene platziert, verwenden Sie $("document").ready(functionvalidate() { }

Kann es nicht finden

Das obige ist der detaillierte Inhalt vonTeilen Sie die Lösung für das Problem, das JQuery Blur nicht auslöst. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn