Tworzę aplikację Android za pomocą Cordova/PhoneGap 2.5.0, Knockout 2.1.0 i jQuery Mobile 1.3.0.Przechwytywanie "Enter" naciśnięcie klawisza numerycznego w Android/Cordova/nokaut
Utworzono dane wejściowe z typem "liczba", to wejście jest databound z Knockout na jego wartość. Jest również databound do kluczowego zdarzenia prasowego. Zamierzam złapać użytkownika, naciskając klawisz wprowadź.
<input type="number" data-bind="value: $root.myInputValue, event: { keypress: $root.myInputKeypress }" min="0" step="1" max="29">
self.myInputKeypress = function() {
var keyCode = (event.which ? event.which : event.keyCode);
alert(keyCode);
if (keyCode === 13) {
//Do work here
return false;
}
return true;
};
Po naciśnięciu dozwolonego klucza, na przykład numeru, kod działa zgodnie z oczekiwaniami, a naciśnięty kod klawisza zostaje ostrzeżony. Kiedy naciskam wpisz na klawiaturze nic się nie dzieje, wydaje się, że Android tłumi zdarzenia z kluczy, które ich zdaniem nie są istotne.
Czy istnieje sposób, aby zmienić to zachowanie, aby umożliwić przechwycenie użytkownika uderzając wpisać?
proszę sprawdzić jaki kod klucz powraca do klawisza Backspace. – SHANK
Cześć, nie zwracano kodu klucza dla backspace (to samo dotyczy klawiszy takich jak +, *, -). Android wydaje się tłumić naciśnięcia klawiszy dla kluczy, które według nich nie mają zastosowania do danych numerycznych. –
Podobne zachowanie zaobserwowałem również w innych miejscach. Zgodnie z tekstem, który przeczytałem, Android blokuje naciśnięcia klawiszy dla niewidocznych znaków. – SHANK