针对ie在input为readonly时选中 点击backspace键会返回上一页的情况

 

可以设置这个给input unselectable="on   或者用js
document.onkeydown =function(e){
            var ev = e || window.event; //获取event对象
            if (ev.keyCode == 8) {
                var obj = ev.target || ev.srcElement; //获取事件源
                var t = obj.type || obj.getAttribute('type'); //获取事件源类型
                //获取作为判断条件的事件类型
                var vReadOnly = obj.getAttribute('readonly') || obj.readOnly;
                if ((t == "password" || t == "text" || t == "textarea"|| t == "email"|| t == "url"|| t == "number"|| t == "range"|| t == "Date"|| t == "search"|| t == "color") && (vReadOnly == true)) {
                    return false;
                }
            }
        };

上述针对页面中输入时删除可用,但空白地方点击依然会触发浏览器自带返回上一页

如果你想完全去除浏览器的这个自带backspace返回上一页功能 用下面的代码

 document.onkeydown =function (e) {
            var ev = e || window.event; //获取event对象
            if (ev.keyCode == 8) {
                var obj = ev.target || ev.srcElement; //获取事件源
                var t = obj.type || obj.getAttribute('type'); //获取事件源类型
                //获取作为判断条件的事件类型
                var vReadOnly = obj.getAttribute('readonly') || obj.readOnly;
                var vdisabled = obj.getAttribute('disabled') || obj.disabled;
                 var flag1 = ((t == "password" || t == "text" || t == "textarea"|| t == "email"|| t == "url"|| t == "number"|| t == "range"|| t == "Date"|| t == "search"|| t == "color") && (vReadOnly == true || vdisabled == true)) ? true : false;
                var flag2 = (t != "password" && t != "text" && t != "textarea"&& t != "email"&&t != "url"&& t != "number"&& t != "range"&& t != "Date"&& t != "search"&& t != "color") ? true : false;
                //判断
                if (flag1 || flag2) {
                    return false;
                }
            }
        };

 

你可能感兴趣的:(bug处理)