Kullanıcı yazdıkça bir metin kutusundaki metni almaya çalışıyorum ( jsfiddle oyun alanı ):
function edValueKeyPress() {
var edValue = document.getElementById("edValue");
var s = edValue.value;
var lblValue = document.getElementById("lblValue");
lblValue.innerText = "The text box contains: " + s;
//var s = $("#edValue").val();
//$("#lblValue").text(s);
}
<input id="edValue" type="text" onKeyPress="edValueKeyPress()"><br>
<span id="lblValue">The text box contains: </span>
Kod olması dışında hatasız çalıştığını değeri arasında input text
esnasında kutunun onKeyPress
değeri her zaman olduğu öncesi değişim:
Soru : sırasında bir metin kutusunun metnini nasıl alırım
onKeyPress
?
Bonus Chatter
HTML DOM'da "kullanıcı yazıyor" ile ilgili üç olay vardır :
onKeyDown
onKeyPress
onKeyUp
In Windows'un , sırası WM_Key
kullanıcı tuşunu basılı tutar ve anahtar tekrar başladığında mesajların önemli hale:
WM_KEYDOWN('a')
- kullanıcı Atuşa bastıWM_CHAR('a')
- kullanıcıdan bira
karakter alındıWM_CHAR('a')
- kullanıcıdan bira
karakter alındıWM_CHAR('a')
- kullanıcıdan bira
karakter alındıWM_CHAR('a')
- kullanıcıdan bira
karakter alındıWM_CHAR('a')
- kullanıcıdan bira
karakter alındıWM_KEYUP('a')
- kullanıcı Aanahtarı serbest bıraktı
Bir metin denetiminde görünen beş karakterle sonuçlanır: aaaaa
Önemli olan nokta, WM_CHAR
mesaja cevap vermeniz , tekrarlayan olmasıdır. Aksi takdirde, bir tuşa basıldığında olayları kaçırırsınız.
In HTML işler biraz daha farklıdır:
onKeyDown
onKeyPress
onKeyDown
onKeyPress
onKeyDown
onKeyPress
onKeyDown
onKeyPress
onKeyDown
onKeyPress
onKeyUp
Html bir KeyDown
ve KeyPress
her anahtarın tekrarı sunar . Ve KeyUp
olay yalnızca kullanıcı anahtarı bıraktığında ortaya çıkar.
Paketler
- Ben yapabilirsiniz cevap
onKeyDown
yaonKeyPress
, ama daha önce de hala yetiştirilirinput.value
güncellendi - Cevap veremiyorum
onKeyUp
çünkü metin kutusundaki metin değiştikçe bu gerçekleşmiyor.
Soru: sırasında bir metin kutusunun metnini nasıl alırım onKeyPress
?