下面的代碼應該顯示按下的鍵的charcode,包括輸入(13),但它不在IE中。在IE8/IE9/IE11中(可能是IE10,但我現在沒有它),當按下Enter鍵時,它將焦點移到另一個元素上。爲什麼以及如何解決這個問題?我可以使用onkeydown,但爲什麼不能在onkeyup以及所有其他瀏覽器中使用?IE8/IE9/IE11:文本類型輸入onkeyup:on keycode 13失去焦點
我應該說這不會發生,如果我刪除按鈕元素或輸入類型的圖像,但顯然一頁會有很多這樣的元素。
<html>
<head>
<script type="text/javascript">
function onuserinput(e) {
var keyC = e.keyCode ? e.keyCode : e.charCode;
alert(keyC);
}
</script>
</head>
<body>
<input type="text" id="myinput" onkeyup="onuserinput(event);"/>
<input type="image" id="img" src="" alt="random input type image" title=""/>
<button id="aaa">random button</button>
</body>
</html>
很肯定爲時已晚,以抑制撞擊在IE中輸入鍵的默認行爲時'onkeyup'事件火災。您必須改用'onkeydown'或'onkeypress'。基本上只是IE瀏覽器,而不是像其他瀏覽器一樣行事。 –