在IE中,我可以使用(非常不标准但有效的)jQuery实现此操作
if ($.browser.msie)
$(document).keydown(function(e) { if (e.keyCode == 8) window.event.keyCode = 0;});
但是有没有可能以一种适用于Firefox的方式或者实现跨浏览器的方式呢?
记录一下:
$(document).keydown(function(e) { if (e.keyCode == 8) e.stopPropagation(); });
不做任何事情。
$(document).keydown(function(e) { if (e.keyCode == 8) e.preventDefault(); });
解决了问题,但造成了页面上不能使用退格键的问题,这甚至比原来的行为更糟糕。编辑: 我这么做的原因是我不是在创建一个简单的网页,而是在创建一个大型应用程序。仅仅因为你在错误的位置按了一下退格键就会丢失10分钟的工作时间,这实在是太让人恼火了。避免错误与打扰用户的比例应该远高于1000/1,通过禁止退格键导航回去来防止这种情况。
编辑2:我并不想阻止历史记录导航,只是想要防止意外发生。
编辑3:@brentonstrines评论(将其移到此处,因为问题如此流行):这是一个长期的“修复”方法,但您可以支持Chromium bug以更改webkit中的此行为。