.keydown(function(e){
alert(e.keyCode);
...
这确实返回8作为'退格'按钮的键。但问题是浏览器发送回历史记录了!
这是Windows浏览器最烦人的行为,我只是想用删除和退格键清除列表框值。我讨厌这种行为,它在IE和Chrome中完全相同。
我可以使用退格键的任何想法吗?
答案 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事件来警告他们离开你的页面