如何在IE中激发按键事件

本文关键字:事件 IE | 更新日期: 2023-09-27 18:00:21

我已经开发了asp.net应用程序,因为我可以选择搜索客户端。当我在文本框中输入客户端名称时,我从键盘上按enter键,它在Firefox和Chrome中运行良好,但在IE8中没有启动。我已经发布了我为KeyEvent fire所做的代码:

<script type="text/javascript">
    function KeyPress() {
        if (event.keyCode == 13) { //if they pressed enter key then..
            document.formname.LoginButton.focus();
        }
    }
</script>

如何解决此问题以激发IE中的Keypress事件?请帮我…

如何在IE中激发按键事件

试试这个解决方案。

HTML:

<input type="text" id="txtNombre" onkeypress="manejadorEnter(this, event)" />

Javascript(包含在代码背后或HTML中):

function manejadorEnter(inField, e) {
    var charCode;
    if(e && e.which){
        charCode = e.which;
    }else if(window.event){
        e = window.event;
        charCode = e.keyCode;
    }
    if(charCode == 13) {
        alert("La tecla enter ha sido pulsada en " + inField.id);
    }
}

我刚刚尝试了上面显示的代码,它适用于所有浏览器。只需尝试以下HTML文件(显然可以在浏览器中启用JavaScript):

<html>
<head>
<title>Test enter button keypress</title>
<script language="javascript" type="text/javascript">
function handlerEnter(inField, e) {
    var charCode;
    if(e && e.which){
        charCode = e.which;
    }else if(window.event){
        e = window.event;
        charCode = e.keyCode;
    }
    if(charCode == 13) {
        alert("You pressed Enter button at " + inField.id);
    }
}
</script>
</head>
<body>
<input type="text" id="txtNombre" onkeypress="handlerEnter(this, event)" />
</body>
</html>

对于更复杂的JavaScript脚本,我强烈建议查看JQuery。

祝你好运!