本文介绍如何在 JavaScript 中兼容处理键盘 Enter 事件。通过封装 EventUtil 工具对象,解决 IE 与 Firefox 在获取键盘事件对象时的差异。代码演示了监听 keydown 事件,判断 keyCode 是否为 13,并触发指定按钮点击及阻止默认行为,适用于需要回车提交表单的场景。
兼容多浏览器的键盘 Enter 事件处理
直接展示代码实现:
具体代码示例如下:
document.onkeydown=function() {
{
var EventUtil = {};
EventUtil.getEvent = function() {
if (window.event) { return window.event; }
else { return EventUtil.getEvent.caller.arguments[0]; }
}
var button = document.getElementById("qw");
if (EventUtil.getEvent().keyCode == 13) {
{
button.click();
event.returnValue = false;
}
} 对比示例:此方案不支持IE但兼容FireFox:
相关代码如下:
window.onkeydown=function() {
{
var EventUtil = {};
EventUtil.getEvent = function() {
if (window.event) { return window.event; }
else { return EventUtil.getEvent.caller.arguments[0]; }
}
//绑定ID为qw的按钮事件 代码片段如下:
var button = document.getElementById("qw");
if (EventUtil.getEvent().keyCode == 13) {
{
button.click();
event.returnValue = false;
}
} 请留意两者的区别:
以上内容仅供参考。