在开发HTML网页中,有时候我们不想浏览在误操作backspace键的时候就返回了上一页的浏览,特别是在更新日志资料等时候。
所以很多开发人员使用了js禁用了backspace键的操作。虽然此然可行,但是却出现了一个新问题,在输入框你无法使用删除键来删除文字信息。
本人研究了很久最终写了一小行代码放在每一个页面就可以解决此问题,既防止返回上一页,且在有输入框的时候一样能正常输入信息。
代码如下:
document.onkeydown = function(event){var e=event||window.event||arguments.callee.caller.arguments[0]; var d=e.srcElement || e.target; if(e&&e.keyCode==8){return d.tagName.toUpperCase() == 'INPUT' || d.tagName.toUpperCase() == 'TEXTAREA' ? true : false }}
此代码你放在 js脚本中即可。兼容所有浏览器、 IE 、火狐浏览器等全部能支持javascript的浏览器。
稍微解释一下:
此脚本就是侦听 按键 事件,当按键是 backspace 的时候对其当前输入光标的位置判断,如果是 input 和 textarea 那么返回 true,以不影响 正常的输入,如果不在 input等输入框中 则返回false,让其 backspace的功能退出,以达到阻断 返回上一页的情况。
所以你可以对上述代码更改,只需要判断你想要的条件即可。可扩展成为其他的任何html标签内的东西。