페이지의 일부 (div)를 클릭 한 후 사용자로부터 입력을 캡처해야하는 페이지가 있습니다.event.charCode는 항상 0을 반환합니다.
<html>
<body>
<div style="background-color: lightpink" onkeydown="onkeydown1(event)" tabindex="-1">
click me, then press a key
</div>
<script type="text/javascript">
function onkeydown1(event)
{
alert(event.charCode);
}
</script>
</body>
</html>
가 직접보기 : 여기에 내 코드입니다. "초점을"http://jsfiddle.net/WRwBF/
그것은 지금까지 파이어 폭스는 기본적으로 사업부를 허용하지 않기 때문에이를 얻기 위해 나에게 긴 시간이 걸렸습니다 결국 나는 div에 대한 tabindex를 설정하면 포커스를 맞출 수 있고 onkeydown 이벤트가 작동한다는 것을 알게되었습니다.
이제는 div를 클릭하고 키를 누르면 어떤 키를 눌러도 값 "0"이 반환됩니다. 왜 이런 일이 벌어지며 어떻게 해결할 수 있습니까?
나는 당신이 줄 수있는지도를 매우 감사드립니다!
짧은 버전은 [브라우저가 벙어리]입니다 (http://www.quirksmode.org/js/keys.html). 그 QuirksMode 기사는 모든 것을 설명해야합니다. 기본적으로'charCode'를 이식 할 수있게하려면'keyPress' 이벤트를 감지하고'evt.charCode || evt.keyCode' – millimoose