jQuery.inArray () funktioniert nicht wie erwartet

8

Was mache ich hier falsch? Die Idee ist, dass ich die Pfeiltasten von irgendetwas anderem trennen kann, aber jeder Tastendruck löst den Alarm aus "Sie haben eine Pfeiltaste gedrückt". Jede Hilfe wäre großartig!

jsFiddle hier oder:

%Vor%     
MFB 25.03.2013, 20:40
quelle

3 Antworten

25

Sie müssen prüfen, ob es einen Index & gt; -1. Der Index ist -1, wenn der Schlüssel im Array nicht vorkommt:

%Vor%     
Justin Bicknell 25.03.2013, 20:41
quelle
1

Die Funktion jQuery inArray gibt den Index des Werts zurück. Für die linke Pfeiltaste (37) gibt es 0 zurück und es wird als falsch interpretiert. Sie sollten Ihren Code zu & gt; = 0

ändern %Vor%

inArray

    
Andy Meyers 25.03.2013 20:46
quelle
1

Die $ .inArray-Methode gibt den Index des Elements zurück, wenn sie sich im Array befindet, und wenn sie nicht im Array ist, gibt sie -1 zurück, sodass Sie sie nicht als if-Bedingung verwenden können. Ändere es zu:

%Vor%     
Bjørn A. J. 25.03.2013 20:48
quelle

Tags und Links