0
나는 약간의 JS 게임을 만들고 있으며, 사용자의 입력을 최대한 빨리 확인하려고 노력하고 있으므로 onKeyDown 함수를 사용하고 있습니다. 문제는 응답이 5이면 5를 누른 다음 5를 다시 눌러 사용자의 입력을 인식해야합니다. 왜 이런 일이 발생합니까?키를 두 번 눌러야하는 이유는 무엇입니까?
var btn=0
var num=""
var digits=1
function quickanswer(){
if (document.getElementById("autocheck").checked==true&&document.getElementById("txt").value.length==digits){
document.getElementById("dots").innerHTML = ""
createdots()
document.getElementById("txt").value=""
document.getElementById("txt").focus()
document.getElementById("txt").style.color = "#000000"
}
}
function submitenter(){
var keycode = window.event.keyCode;
if (keycode == 13)
{
btnclick();
}
if (keycode < 47 || keycode > 58){
return false;}
}
<input id="txt" type="text" onKeyPress="return submitenter()" onKeyDown="quickanswer()"/>
인가
어쨌든, 당신의 코드는 현재 사용하지 크로스 브라우저
window.event
대신이 같은 함수에 인수로 이벤트를 통과 표준 아닙니다 ..입니다 어떤 키가 onKeyDown으로 눌려 졌는지 알 수있는 방법이 있습니까? – Sean@Sean 네, 이미'submitenter'에서 얻은 것과 같습니다 :'var keycode = evt.keyCode || evt.which; 여기서 "evt"는 브라우저를 교차하도록 위에 설명 된 것과 같습니다. –