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

Posted

技术标签:

【中文标题】如何在 IE 中为按钮事件触发 Keypress 事件【英文标题】:How to Fire Keypress event in IE for a button event 【发布时间】:2011-06-24 07:31:43 【问题描述】:

我已经开发了 asp.net 应用程序,因为我有客户端的搜索选项。当我在文本框中输入客户端名称然后我按下键盘上的 Enter 键它在 Firefox 和 Chrome 中工作正常但在 IE8 中没有触发我已经发布了我为 KeyEvent 触发所做的代码:

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

如何解决这个问题以在 IE 中触发 Keypress 事件?请帮帮我...

【问题讨论】:

如何将此代码添加到按钮中? 您好,感谢您的回复,我将函数称为 . " 【参考方案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);
    

【讨论】:

您好,谢谢您的回复,我已经尝试了上面的代码,您给了我的书,但这一个也没有触发意味着当我按下 Enter 键时,它将执行搜索操作,但在上面的代码中不执行操作.【参考方案2】:

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

祝你好运!

【讨论】:

你能给按键事件的任何JQuery链接吗

以上是关于如何在 IE 中为按钮事件触发 Keypress 事件的主要内容,如果未能解决你的问题,请参考以下文章

在ckeditor中为keypress添加事件监听器的代码

c#WinForm鼠标和键盘触发事件问题

keyPress事件未在Android手机中触发

在 Android 手机中未触发 keyPress 事件

jquery键盘事件及keycode大全

TextBox KeyPress事件不会触发