为什么我的文本框的onchange
事件会触发模糊,但不会被每个键入的字符触发?
我想通过键盘按照每种类型在文本框中输入整个文本!
但onchang
事件仅在模糊时触发!
除了onkeyup - onkeypress - onkeydown
事件之外没有帮助,因为首先触发这些事件,然后将最后输入的字符应用于文本框。
我应该使用什么事件或者我该怎么做?
答案 0 :(得分:3)
你想要keyup,keydown或它们的组合。在keydown处理程序中,您可以获取文本框的事件前值。在keyup处理程序中,您可以获取事件后的值。如果你得到一个空字符串,你做错了。
编辑:这是一个展示这两个事件如何运作的例子。在第一个框中输入更新另外两个。
<table>
<tr>
<td>input</td>
<td><input type="text" id="textin" /></td>
</tr>
<tr>
<td>keydown</td>
<td><input type="text" id="keydownout" /></td>
</tr>
<tr>
<td>keyup</td>
<td><input type="text" id="keyupout" /></td>
</tr>
</table>
<script>
var readbox = document.getElementById('textin');
var keydownbox = document.getElementById('keydownout');
var keyupbox = document.getElementById('keyupout');
function keydownhandler(e) {
keydownbox.value = readbox.value;
}
function keyuphandler(e) {
keyupbox.value = readbox.value;
}
readbox.addEventListener('keydown', keydownhandler, false);
readbox.addEventListener('keyup', keyuphandler, false);
</script>
(适用于firefox / chrome)
答案 1 :(得分:0)
onkeyup事件在 输入文字后触发 :
onkeyup='alert(document.getElementById("myTextBox").value);'