浏览器下屏蔽 BackSpace

  • 问题描述
  • 解决方案

1. 问题描述

在所有主流的浏览器(IE/Chrome/FireFox等,safari 除外)中,对于焦点不在文本输入框中的情况,使用 BackSpace 键都会默认返回上一个浏览页。

2. 解决方案

如果不想使用此功能,可以采用如下方法屏蔽:

// 使用 js 方法,对整个文档进行键盘按键的过滤
document.onkeydown = function() {
    if(event.keyCode == 8) { // BackSapce 对应的 keyCode 为 8
        if(event.srcElement.tagName.toLowerCase != "input"
            && event.srcElement.tagName.toLowerCase != "textarea"
            && event.srcElement.tagName.toLowerCase != "text") { // 对于文本框不过滤
                event.keyCode = 0; // 0 不对应键盘上任何键,用来取消原按键的功能
                // 添加你希望执行的操作,此处不执行任何操作
                event.returnValue = false; 
        }
    }
}

附:获取键盘上按键对应 keyCode 的 js 代码

document.onkeydown = function() {
    alert(event.keyCode);
}

你可能感兴趣的:(浏览器,web-前端)