解决当文本框为readonly时,按Backspace会刷新页面问题

该方法可以兼容多种浏览器,至少具体可以兼容多少种,没有实际考证过。本方法源于别处,具体什么地方,由于时间比较长,忘记了。分享这个方法是因为我自己觉得该方法比较实用,在项目是时候,当时我已经找了几种解决回退键刷新页面问题的方法,但是经实验,都不能够很好的兼容ie11,最终当前方法解决的该问题。 

window.οnlοad=function(){

  document.getElementsByTagName("body")[0].onkeydown =function(){

     //获取事件对象
             var elem = event.relatedTarget || event.srcElement || event.target ||event.currentTarget;

     if(event.keyCode==8){//判断按键为backSpace键

      //获取按键按下时光标做指向的element
                 var elem = event.srcElement || event.currentTarget;

      //判断是否需要阻止按下键盘的事件默认传递
                  var name = elem.nodeName;

      if(name!='INPUT' && name!='TEXTAREA'){
                     return _stopIt(event);
                 }

      var type_e = elem.type.toUpperCase();

      if(name=='INPUT' && (type_e!='TEXT' && type_e!='TEXTAREA' && type_e!='PASSWORD' && type_e!='FILE')){
                      return _stopIt(event);
                 }

      if(name=='INPUT' && (elem.readOnly==true || elem.disabled ==true)){
                      return _stopIt(event);
                 }

     }
         }
     }

   function _stopIt(e){

     if(e.returnValue){

      e.returnValue = false ;

     }

    if(e.preventDefault ){

      e.preventDefault();

     }

    return false;

  }

转载于:https://www.cnblogs.com/bjxgp/p/4533829.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值