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 № 1The 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.