防止退格键移动到上一页

时间:2012-03-11 20:47:03

标签: jquery internet-explorer keydown

.keydown(function(e){
        alert(e.keyCode);
...

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

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

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

2 个答案:

答案 0 :(得分:12)

只需使用preventDefault()

$(document).keydown(function(e){
    if ( e.keyCode == 8 ) e.preventDefault();
});

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

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

答案 1 :(得分:0)

使用preventDefault()作为一个额外的守卫你可以使用onbeforeunload事件来警告他们离开你的页面