/ / jQuery.keypress: Natychmiastowe przetwarzanie tekstu - jquery, wejście

jQuery.keypress: Natychmiastowe przetwarzanie tekstu - jquery, input

Muszę zastąpić domyślne zdarzenie keypress, aby uzyskać dodatkową (natychmiastową) transformację tekstu podczas pisania. Próbuję tego:

field.keypress(function(e){
field.val(function(i, val){
return val.toUpperCase();
});
return false;
});

Ale wkład nie jest całkowicie wypełniony, zrozumiałe jest, dlaczego. Ale jak?)

Proszę, nie sugeruj „text-transform”, toUpperCase () to tylko przykład.))

Odpowiedzi:

3 dla odpowiedzi № 1

The keypress zdarzenie jest wyzwalane przed faktyczną modyfikacją pola tekstowego.

Powinieneś powiązać funkcję z keyup zdarzenie.

To keyup Zdarzenie jest uruchamiane tylko raz na naciśnięcie klawisza. Jeśli naciśniesz klawisz, keypress zdarzenie zostanie uruchomione, zanim każda postać wypełni pole tekstowe. The keyup zdarzenie jest uruchamiane tylko po klucz został zwolniony. Więc jeśli się trzymasz mi przez 10 sekund pole wprowadzania będzie zawierało małe litery e postaci, dopóki nie podniesiesz palca.