我有一個頁面,我需要在用戶點擊頁面的一部分(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/
我花了最長的時間,到了這一步,因爲FireFox的默認不容許一個div爲「具有焦點。」最終我發現爲div設置tabindex可以讓它成爲焦點,而onkeydown事件就可以工作。
現在我的問題是,當我點擊div並按下一個鍵時,無論按什麼鍵,都會返回值「0」。爲什麼會發生這種情況,我該如何解決?
我非常感謝您能給予的任何指導!
簡短版本是:[瀏覽器是愚蠢的](http://www.quirksmode.org/js/keys.html)。那QuirksMode文章應該解釋一切。基本上,爲了便攜地獲取'charCode',你需要檢測'keyPress'事件,並且嘗試'evt.charCode || evt.keyCode' – millimoose