簡體   English   中英

IE8 / IE9 / IE11:文本類型輸入onkeyup:在鍵碼13上失去焦點

[英]IE8 / IE9 / IE11: text type input onkeyup: on keycode 13 loses focus

以下代碼應顯示所按下的鍵的字符,包括enter(13),但在IE中不存在。 在IE8 / IE9 / IE11(可能還有IE10,但我現在還沒有)中,當我按Enter鍵時,它會將焦點移到另一個元素上。 為什么以及如何解決這個問題? 我可以使用onkeydown,但是為什么在所有其他瀏覽器中都無法使用onkeyup?

我應該說,如果刪除按鈕元素或輸入類型圖像,這不會發生,但是顯然頁面上將包含許多這樣的元素。

<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>

嘗試onkeyup ,它應該可以工作。 據我了解, onuserinput在按下Enter鍵或失去焦點后觸發,因此keyup必須在之前觸發。

我有同樣的問題。 IE的默認行為似乎是在“表單”中提交最近的按鈕。 要避免這種行為,請在html按鈕中包含type =“ button”屬性,它對我有用:

<button type='button'>This button will not submit by default</button>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM