javascript - 跨浏览器捕获回车键,我的解决方案不起作用

标签 javascript event-handling cross-browser enter

我认为这是一个跨浏览器的解决方案,可以在我正在制作的聊天脚本中捕获回车键,它是:

    nn=(document.layers)?true:false;
ie=(document.all)?true:false;
function keyDown(e) {
    var evt=(e)?e:(window.event)?window.event:null;
    if(evt){
        var key=(evt.charCode)?evt.charCode: ((evt.keyCode)?evt.keyCode:((evt.which)?evt.which:0));
        if(key=="13") document.getElementById('chatEnter').submit();
        }
    }
document.onkeydown=keyDown;
if(nn) document.captureEvents(Event.KEYDOWN);

我是从别人那里得到的,所以它可能已经过时了?无论如何,如您所见,表单 id 属性是 chatEnter。我也尝试过使用 document.forms[0].submit,但也没有用。它在 FF 中工作得很好,但在 IE8 64 位中没有运气(这是迄今为止我测试过的唯一两个。)我在这里做错了什么?感谢您的帮助。

最佳答案

尝试使用>

$(document).keypress(function(e) {
    if (e.which == "13") { 
        //enter pressed 
    }       
});

当然,您需要 jQuery。没有比使用经过测试和广泛使用的跨浏览器框架更好的跨浏览器解决方案了。

关于javascript - 跨浏览器捕获回车键,我的解决方案不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5845254/

相关文章:

javascript - 如何使用正则表达式替换 css 类中的背景 url (javascript)

C# - ASP.NET 按钮单击事件不起作用

html - CSS 边框不能完全工作

html - 如何为 Safari 编写 CSS 条件规则?

javascript - 将参数传递给递归函数javaScript

javascript - 将输入文本附加到模态 C# MVC 5

javascript - WebRTC Chrome 相机限制

c# - 如何在 C# 中使用事件?

javascript - 如何强制 Canvas 事件处理程序完成更新

html - 带有单选按钮的跨浏览器(平板电脑)错误