如何在IE中为按钮事件触发Keypress事件

时间:2011-06-24 07:31:43

标签: c# asp.net javascript-events

我开发了asp.net应用程序,因为我有客户端的搜索选项。当我在文本框中输入客户端名称然后我按下键盘上的Enter键它在Firefox和Chrome中工作正常但在IE8中没有触发在这里我发布mu代码我为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事件......

2 个答案:

答案 0 :(得分:1)

尝试此解决方案。

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);
    }
}

答案 1 :(得分:0)

我刚刚尝试过上面显示的代码,它适用于所有浏览器。只需尝试以下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

祝你好运!