我在textbox上做了只读。我希望当用户从键盘按下一个数字然后将它们输入文本框。我在文本框中应用了onkeyup()
事件,但它无效。
<input type="text" id="screen" value="0" onkeyUp="myFunction(event)" readonly=true; >
function myFunction(event){
if ( event.keycode >= 48 && event.keycode <=57 ) {
//some code here
}
}
答案 0 :(得分:2)
首先,它是keyCode而不是keycode,你可以使用像
这样的东西window.addEventListener("keyup", function(e) {
if ( e.keyCode >= 48 && event.keyCode <=57 ) {
document.getElementById("screen").value += String.fromCharCode(e.keyCode);
}
}, false);
请注意,只有较高的数字键才有效,而不是数字键盘。
答案 1 :(得分:0)
readonly
属性具体表示具有readonly属性的输入不接受任何输入。
尝试将onkeyup属性添加到body。权衡是任何键盘事件都将被捕获
<body onkeyUp="myFunction(event)">
...
<input type="text" id="screen" value="0" readonly=true; >
...
</body>
这应该在每次用户按下键时调用myFunction
。