2016-12-25 4 views
5

Ich habe eine Eingabetypnummer. Ich weiß, wie eine Funktion aufgerufen wird, wenn die Eingabetaste gedrückt wird. meinem CodeEnter, onChange-Ereignis bei Eingangstypnummer

haben Sie einen Blick auf:

<input type="number" class="new_num" value="0"> 
<input type="number" class="new_num_2" value="0"> 

<script> 
    $('.new_num').bind("enterKey",function(e) { 
     alert($(".new_num").val()); 
    }); 

    $('.new_num').keyup(function(e){ 
     if(e.keyCode == 13) 
     { 
      $(this).trigger("enterKey"); 
     } 
    }); 
</script> 

Jetzt muß ich den Wert aufmerksam zu machen, wenn der Benutzer nur den oberen oder Pfeil nach unten der Nummer klickt. Ich habe diesen Code geschrieben, aber es hat nicht funktioniert:

$('.new_num').bind('keyup input', function(){ 
    $(this).trigger("enterKey"); 
}); 

Bitte helfen.

Auch ich muss diese gleiche Operation für new_num_2 tun. Muss ich den Code duplizieren?

Welchen Code muss ich schreiben, wenn der Benutzer ein mobiles Gerät verwendet?

+0

bitte html zu und Staat deutlich teilen, was ist Ihr Ende des Spiels mit diesem Code – ab29007

+0

i bereits den HTML bieten. Bitte prüfe . –

+0

Die Aufwärts-/D-Tasten scheinen "40" und "38" zu sein. Sollte auf dem Handy dasselbe sein (habe noch nie etwas auf dem Handy getestet). Einfach den anderen Selektor zum $ $ (...) 'Aufruf hinzufügen – Jhecht

Antwort

3

In diesem Beispiel wird der Wert der aktuell fokussierten Eingabe in der Konsole protokolliert. Ich gab ihnen beide das gleiche class=new_num_2 und benutzte das, um sie auszuwählen. Auf diese Weise müssen Sie den Code nicht duplizieren und denselben Vorgang für new_num_2 ausführen.

Für Handys Ich denke, Sie sollten eine button nach den Eingaben und binden Sie diese Funktion auf den Klick auf die Schaltfläche.

$('.new_num').on("focus", printValue); 
 

 
var printValue = function (inp){ 
 
    $(inp).bind("enterKey",function(e) { 
 
    console.log($(this).val()); 
 
    }); 
 
} 
 

 
$('.new_num').keyup(function(e){ 
 
    if(e.keyCode == 13){ 
 
    printValue(this); 
 
    $(this).trigger("enterKey"); 
 
    $(this).unbind("enterKey"); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="number" class="new_num" id="new_num_1" value="0"> 
 
<input type="number" class="new_num" id="new_num_2" value="0">

+0

Ich kann keine Eingabe verwenden, ich kann nur .new_num, .new_num_2 verwenden. Also muss ich doppelten Code machen? –

+0

Sorry, ich habe das nicht komplett verstanden. Warum können Sie keine Eingabe verwenden? – ab29007

+0

okay. kannst du ihnen die gleiche 'class =" new_num "' und die andere ID 'new_num_1'' new_num_2' geben. – ab29007