文本框input 设置属性 readonly 按Backspace时会返回上一页

时间:2022-08-08 17:09:24
如提

网上搜了半天,多半都是用JQ来解决。可是我试了半天都没有行。不知道是不是在IE8下不能用。

$("input[readonly]").keydown(function(e) { 
e.preventDefault();
});


请大仙们指点迷津

8 个解决方案

#1


只读了是不能操作的,你按Backspace键  这是浏览器的网页后退功能!

#2


设置为只读,按后退键默认都会执行网页后移的功能。如果屏蔽后退键不影响其它功能,那么就把后退键的事件取消了

#3


求屏蔽后退键事件的代码

#4



if (event.keyCode != 13) {

}

#5



if (event.keyCode == 13) {
 event.preventDefault();
}
 

#6


依然华丽的不行哦!

#7


禁用backspace键的后退功能,但是可以删除文本内容
<script language="JavaScript">
document.onkeydown = check;
function check(e) {
    var code;
    if (!e) var e = window.event;
    if (e.keyCode) code = e.keyCode;
    else if (e.which) code = e.which;
if (((event.keyCode == 8) &&                                                    //BackSpace 
         ((event.srcElement.type != "text" && 
         event.srcElement.type != "textarea" && 
         event.srcElement.type != "password") || 
         event.srcElement.readOnly == true)) || 
        ((event.ctrlKey) && ((event.keyCode == 78) || (event.keyCode == 82)) ) ||    //CtrlN,CtrlR 
        (event.keyCode == 116) ) {                                                   //F5 
        event.keyCode = 0; 
        event.returnValue = false; 
    }
return true;
}
</script>
-----------------------------------
写在<body>标签内

#8


非常感谢大家的帮助。kimizhou_blog 朋友的方法最好。再一次感谢

#1


只读了是不能操作的,你按Backspace键  这是浏览器的网页后退功能!

#2


设置为只读,按后退键默认都会执行网页后移的功能。如果屏蔽后退键不影响其它功能,那么就把后退键的事件取消了

#3


求屏蔽后退键事件的代码

#4



if (event.keyCode != 13) {

}

#5



if (event.keyCode == 13) {
 event.preventDefault();
}
 

#6


依然华丽的不行哦!

#7


禁用backspace键的后退功能,但是可以删除文本内容
<script language="JavaScript">
document.onkeydown = check;
function check(e) {
    var code;
    if (!e) var e = window.event;
    if (e.keyCode) code = e.keyCode;
    else if (e.which) code = e.which;
if (((event.keyCode == 8) &&                                                    //BackSpace 
         ((event.srcElement.type != "text" && 
         event.srcElement.type != "textarea" && 
         event.srcElement.type != "password") || 
         event.srcElement.readOnly == true)) || 
        ((event.ctrlKey) && ((event.keyCode == 78) || (event.keyCode == 82)) ) ||    //CtrlN,CtrlR 
        (event.keyCode == 116) ) {                                                   //F5 
        event.keyCode = 0; 
        event.returnValue = false; 
    }
return true;
}
</script>
-----------------------------------
写在<body>标签内

#8


非常感谢大家的帮助。kimizhou_blog 朋友的方法最好。再一次感谢