防止退格键移动到上一页

Ano*_*ous 4 jquery internet-explorer keydown

.keydown(function(e){
        alert(e.keyCode);
...
Run Code Online (Sandbox Code Playgroud)

这确实返回8作为"退格"按钮的键.但问题是浏览器发送回历史记录!

这是Windows浏览器最令人讨厌的行为,我只是试图用删除和退格键清除列表框值.我讨厌这种行为,它在IE和Chrome中完全相同.

我可以使用退格键的任何想法?

Jos*_*ber 12

只需使用preventDefault():

$(document).keydown(function(e){
    if ( e.keyCode == 8 ) e.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)

但请注意,这将阻止退格在输入字段中起作用.这可以通过以下方式轻松解决:

$(document).keydown(function(e){
    if ( e.keyCode == 8 && e.target.tagName != 'INPUT' && e.target.tagName != 'TEXTAREA') {
        e.preventDefault();
    }
});
Run Code Online (Sandbox Code Playgroud)