• 5597阅读
  • 0回复

[转载]在浏览器中禁止回退键 [复制链接]

上一主题 下一主题
离线XChinux
 

只看楼主 倒序阅读 楼主  发表于: 2011-06-17

//处理键盘事件 禁止后退键(Backspace)密码或单行、多行文本框除外  
function fnBanBackSpace(e) {
    var ev = e || window.event;//获取event对象
    var obj = ev.target || ev.srcElement;//获取事件源
    var t = obj.type || obj.getAttribute('type');//获取事件源类型
    //获取作为判断条件的事件类型
    var vReadOnly = obj.getAttribute('readonly');
    var vEnabled = obj.getAttribute('enabled');
    //处理null值情况
    vReadOnly = (vReadOnly == null) ? false : vReadOnly;
    vEnabled = (vEnabled == null) ? true : vEnabled;
    //当敲Backspace键时,事件源类型为密码或单行、多行文本的,
    //并且readonly属性为true或enabled属性为false的,则退格键失效
    var flag1 = (ev.keyCode == 8 && (t == "password" || t=="text"
        || t =="textarea") && (vReadOnly == true || vEnabled != true))
        ? true:false;
    //当敲Backspace键时,事件源类型非密码或单行、多行文本的,则退格键失效
    var flag2 = (ev.keyCode == 8 && t != "password" && t != "text"
        && t != "textarea") ?true:false;
    //判断
    if (flag2)
    {
        return false;
    }
    if (flag1)
    {
        return false;
    }
}
     //禁止后退键 作用于Firefox、Opera
    document.onkeypress = fnBanBackSpace;
    //禁止后退键 作用于IE、Chrome  
    document.onkeydown = fnBanBackSpace;
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个