2016-04-06 7 views
0

Ich habe diesen Code, der für Rechtsklick + Pasten in einer Eingabe prüft und dann den Zeichencode jedes eingefügten Zeichens in eine Funktion übergibt. Der Zeichencode scheint jedoch falsch zu sein. Ich habe „fds“ in einen Eingang eingefügt und es sagt der charCode des ersten Zeichens ist 102, aber die charCode von „f“ ist 70.charCodeAt gibt falschen charCode

Hier ist der Code:

ko.bindingHandlers.strictNumeric = { 
    init: function (element) { 
     $(element).bind('input propertychange', function() { 
      for (var x = 0; x < $(this).val().length; x++) { 
       if (qb.Utils.Number().isAcceptableNonNumericCharacter($(this).val().charCodeAt(x))) { 
        return; 
       } else { 
        event.preventDefault(); 
       } 
      } 
     }); 
    } 
}; 

$ (dies) .val() ist gleich "fds". Der Wert des $ (this) .val(). CharCodeAt (x) Parameters in der ersten Schleife ist 102 nicht 70. Warum ist das?

+0

Beachten Sie, dass die Codes für 'fds' (klein geschrieben) sind 102, 100 und 115. Ein uppercase'F' würde Code 70 A sein Code von 112 schlägt vor, dass ein "p" im Wert des Elements vorhanden ist. –

Antwort

1

Die charCode für f ist richtig 102, für F ist es 70.