Heim > Web-Frontend > js-Tutorial > Warum wird das Keyup-Ereignis in JQuery nicht ausgeführt?

Warum wird das Keyup-Ereignis in JQuery nicht ausgeführt?

黄舟
Freigeben: 2017-06-27 14:20:04
Original
1861 Leute haben es durchsucht

Ich möchte
1. Die Codefarbe ändert sich, nachdem ich auf das #skillKey tr-Element geklickt habe.
2. Ändern Sie dann den Text des aktuellen Elements, nachdem Sie die Eingabe über die Tastatur vorgenommen haben Debuggen Lassen Sie uns über Schritt 2 sprechen. Auslassen, um zu warnen (123)Der HTML-Code lautet wie folgt:

<table id="skillKey">
<tbody>
<tr>Q</tr>
</tbody>
<table>
Nach dem Login kopieren

JQueryDer Code lautet wie folgt:

$(function () {

    $(&#39;#skillKey&#39;).on(&#39;click&#39;, &#39;tr&#39;, function () {
        $(this).css(&#39;color&#39;,&#39;red&#39;);
        $(this).keyup(function(){
        alert(123)
        });
    });
})
Nach dem Login kopieren
Warum ändert sich die Farbe des Elements nach dem Klicken, während die Tastatureingabe weitergegeben wird, und es kann keine Warnung ausgegeben werden? Der Effekt kann tatsächlich durch $(

document).keyup() erreicht werden. Ich möchte den Grund wissen. Vielleicht hat es etwas mit der Art des Elements zu tun, das keyup() gebunden werden muss?

Anderes: Eine falsche keyup()

Funktion Aufrufmethode, wenn sie so geschrieben ist:

$(function () {

    $(&#39;#skillKey&#39;).on(&#39;click&#39;, &#39;tr&#39;, function () {
        $(this).css(&#39;color&#39;,&#39;red&#39;);
        $(this).keyup(alert(123));
    });
})
Nach dem Login kopieren
Dann ändert das Element nach dem Klicken auf tr seine Farbe und ein Pop- Es erscheint Fenster 123. Warum ist das so?

Weisen Sie zuerst auf einen Ihrer Fehler hin

$(&#39;#skillKey&#39;).on(&#39;click&#39;, &#39;tr&#39;, function () {
    $(this).css(&#39;color&#39;,&#39;red&#39;);
    $(this).keyup(function(){
    alert(123)
    });
});
Nach dem Login kopieren
Sie binden das

Ereignis so. Das Ergebnis ist, dass tr einmal gebunden wird, wenn Sie darauf klicken, und es ist so oft gebunden, wie Sie darauf klicken. In diesem Beispiel ist noch nicht klar, Sie geben eine Eingabe in tr ein und schreiben dann den folgenden Code, um den Effekt zu sehen

$(&#39;#skillKey&#39;).on(&#39;click&#39;, &#39;input&#39;, function () {
    $(this).css(&#39;color&#39;,&#39;red&#39;);
    $(this).blur(function(){
        alert(123)
    });
});
Nach dem Login kopieren
Gib mir etwas Vorschläge

Elemente, die verwendet werden müssen Sie können zuerst

zwischenspeichern, $ nicht missbrauchen, und Sie können die Kette

$(&#39;#skillKey&#39;).on(&#39;click&#39;, &#39;tr&#39;, function () {    var $this = $(this);
    $this
        .css(&#39;color&#39;, &#39;red&#39;)
        .keyup(function () {
            alert(123)
        });
});
Nach dem Login kopieren

wenn es gut lesbar ist.

Das obige ist der detaillierte Inhalt vonWarum wird das Keyup-Ereignis in JQuery nicht ausgeführt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage