日期:2014-05-16  浏览次数:20451 次

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

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

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


请大仙们指点迷津

------解决方案--------------------
只读了是不能操作的,你按Backspace键  这是浏览器的网页后退功能!
------解决方案--------------------
设置为只读,按后退键默认都会执行网页后移的功能。如果屏蔽后退键不影响其它功能,那么就把后退键的事件取消了
------解决方案--------------------

if (event.keyCode != 13) {

}

------解决方案--------------------

if (event.keyCode == 13) {
 event.preventDefault();
}
 
------解决方案--------------------
禁用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)) 
------解决方案--------------------