js禁用键盘回退网页功能,编辑区域的回退除外

复制代码
<script type="text/javascript">    
    function banBackSpace(e) {
        var ev = e || window.event;
        var obj = ev.target || ev.srcElement;
        var t = obj.type || obj.getAttribute('type') || obj.localName;


        var vReadOnly = obj.getAttribute('readonly');
        var vEnabled = obj.getAttribute('enabled');
        var contenteditable = obj.getAttribute('contenteditable');


        vReadOnly = (vReadOnly == null) ? false : vReadOnly;
        vEnabled = (vEnabled == null) ? true : vEnabled;


        var flag1 = (ev.keyCode == 8 && (t == "password" || t == "text" || t == "textarea" || t == "div") && (contenteditable == true || vReadOnly == true || vEnabled != true)) ? true : false;
        var flag2 = (ev.keyCode == 8 && t != "password" && t != "text" && t != "textarea" && (t != "div" && contenteditable != true)) ? true : false;
        if (flag2) return false;
        if (flag1) return false;
    }
    document.onkeydown = banBackSpace;
</script>
复制代码

 

posted @   少司命  阅读(222)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示