JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何使用JavaScript阻止浏览器的退格按钮的默认历史记录返回操作?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
当用户在浏览器上按退格键时,有没有办法阻止默认操作发生?我不需要阻止用户离开,只需要进行默认的退格操作.我需要退格键做一些不同的事情(这是一场游戏).

我尝试没有成功:

window.addEventListener('keydown',function(E) {
    if (e.keyCode === Game.Key.BACK_SPACE)
    {
        e.preventDefault();
        e.stopPropagation();
        return false;
    }
},falsE);

如果我在if内部发出警报,则会显示退格键按下警报.所以,keyCode是正确的.

编辑:这必须适用于Opera 10.6,Firefox 4,Chrome 6,IE 9和Safari 5.

解决方法

您不需要返回false或e.stopPropagation();在使用addEventListener附加的侦听器中,两者都不会有任何区别.您的代码在Opera中不起作用,Opera只允许您禁止按键事件中的默认浏览器行为,或者IE< = 8,它不支持addEventListener.以下内容适用于所有浏览器,只要您尚未在文档上安装keydown和keypress事件处理程序即可. 编辑:它现在还过滤掉源自< input>的事件.或< textarea>元件:
function suppressBACkspace(evt) {
    evt = evt || window.event;
    var target = evt.target || evt.srcElement;

    if (evt.keyCode == 8 && !/input|textarea/i.test(target.nodeName)) {
        return false;
    }
}

document.onkeydown = suppressBACkspace;
document.onkeypress = suppressBACkspace;

大佬总结

以上是大佬教程为你收集整理的如何使用JavaScript阻止浏览器的退格按钮的默认历史记录返回操作?全部内容,希望文章能够帮你解决如何使用JavaScript阻止浏览器的退格按钮的默认历史记录返回操作?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。