如何在javascript中只读取文本框时如何将键盘事件添加到文本框?

时间:2014-02-10 09:44:55

标签: javascript html

我在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
    }

}

2 个答案:

答案 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);

http://jsfiddle.net/npCBs/

请注意,只有较高的数字键才有效,而不是数字键盘。

答案 1 :(得分:0)

readonly属性具体表示具有readonly属性的输入不接受任何输入。

尝试将onkeyup属性添加到body。权衡是任何键盘事件都将被捕获

<body onkeyUp="myFunction(event)">
...
 <input type="text" id="screen" value="0"  readonly=true; >            
...
</body>

这应该在每次用户按下键时调用myFunction