js防止backspace回退到上一界面(兼容各种浏览器)

//处理键盘事件 禁止后退键(Backspace)密码或单行、多行文本框除外
function banBackSpace(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 = banBackSpace;
//禁止后退键 作用于IE、Chrome
document.onkeydown = banBackSpace;

时间: 2024-08-29 00:04:01

js防止backspace回退到上一界面(兼容各种浏览器)的相关文章

转载:js动态获取图片长宽尺寸(兼容所有浏览器,速度极快)

转自:http://blog.phpdr.net/js-get-image-size.html lightbox类效果为了让图片居中显示而使用预加载,需要等待完全加载完毕才能显示,体验不佳(如filick相册的全屏效果).javascript无法获取img文件头数据,真的是这样吗?本文通过一个巧妙的方法让javascript获取它. 这是大部分人使用预加载获取图片大小的例子: 01 var imgLoad = function (url, callback) { 02     var img =

js修改input的type属性问题(兼容所有浏览器,主要用于密码类的默认有提示文字的效果)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>阿当制

js控制5秒返回指定界面,或上一个界面

js控制5秒返回指定界面,代码如下 <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> <script type="text/javascript"> function countDown(secs,surl){ //alert(surl);

JS组件系列——Bootstrap文件上传组件:bootstrap fileinput

原文:JS组件系列--Bootstrap文件上传组件:bootstrap fileinput 前言:之前的三篇介绍了下bootstrap table的一些常见用法,发现博主对这种扁平化的风格有点着迷了.前两天做一个excel导入的功能,前端使用原始的input type='file'这种标签,效果不忍直视,于是博主下定决心要找一个好看的上传组件换掉它.既然bootstrap开源,那么社区肯定有很多关于它的组件,肯定也有这种常见的上传组件吧.经过一番查找,功夫不负有心人,还是被博主找到了这个组件:

Angular JS赶快学起来(上)

               Angular JS赶快学起来(上) 我将分为上下两篇来介绍Angular JS,废话不多说,直接看内容吧... 一:首先,什么是Angular JS呢? - 一个前端框架,提供一种无DOM操作的编程方式,在前端页面中引入了传统在后台开发中使用的一些思想,增强代码的结构和可维护性 - 一个功能非常完备的前端框架,通过增强HTML的方式提供一种便捷开发Web应用程序的方式 - 其核心特点就是几乎无任何DOM操作,让开发人员的精力和时间全部集中于业务 - MVC的特性增

Vue.js – 基于 MVVM 实现交互式的 Web 界面

Vue.js 是用于构建交互式的 Web  界面的库.它提供了 MVVM 数据绑定和一个可组合的组件系统,具有简单.灵活的 API.从技术上讲, Vue.js 集中在 MVVM 模式上的视图模型层,并通过双向数据绑定连接视图和模型.实际的 DOM 操作和输出格式被抽象出来成指令和过滤器.相比其它的 MVVM 框架,Vue.js 更容易上手. 官方网站      插件下载 HTML: <div id="demo"> {{message}} <input v-model=

js 获取元素在页面上的偏移量的最佳方式

使用js制作效果时,我们常常要获取某个元素在页面上的偏移量(例如tip提示框功能).而获取偏移量可以直接获取相对于document的偏移量,也可以获取相对与视口的偏移量(viewpoint)加上页面滚动量(scroll)获得. 1.获取相对与document的偏移量 function getOffsetSum(ele){ var top= 0,left=0; while(ele){ top+=ele.offsetTop; left+=ele.offsetLeft; ele=ele.offsetP

vue10行代码实现上拉翻页加载更多数据,纯手写js实现下拉刷新上拉翻页不引用任何第三方插件

vue10行代码实现上拉翻页加载更多数据,纯手写js实现下拉刷新上拉翻页不引用任何第三方插件/库 一提到移动端的下拉刷新上拉翻页,你可能就会想到iScroll插件,没错iScroll是一个高性能,资源占用少,无依赖,多平台的javascript滚动插件.iScroll不仅仅是 滚动.它可以处理任何需要与用户进行移动交互的元素.在你的项目中包含仅仅4kb大小的iScroll,你的项目便拥有了滚动,缩放,平移,无限滚动,视差滚动,旋转功能.iScroll的强大毋庸置疑,本人也非常欢迎大家使用iScr

如何解决用jquery.uploadify.js进行多文档上传会修改document的title

在dwz框架中使用了jquery.uploadify.js进行多文档上传当打开窗口后会发现document的title被无意之中修改.进行代码调试也没有发现.对swfobject进行研究也没有发现修改title的情况. 只能采用一种方式禁止修改title var oldTitle = document.title; try { document.attachEvent('onpropertychange', function(){ if (document.title != oldTitle )