我们在真实的项目开发中经常会使用JS 对键盘上的一些按键进行禁用,常见的比如说退格键(backspace/ 后退键),我在一个项目中就遇到过在页面编辑的时候禁用掉退格键,因为退格键会发生页面后退,代码。
  1. <script type="text/javascript">
  2. //处理键盘事件 禁止后退键(Backspace)密码或单行、多行文本框除外
  3. function forbidBackSpace(e) {
  4. var ev = e || window.event; //获取event对象
  5. var obj = ev.target || ev.srcElement; //获取事件源
  6. var t = obj.type || obj.getAttribute('type'); //获取事件源类型
  7. //获取作为判断条件的事件类型
  8. var vReadOnly = obj.readOnly;
  9. var vDisabled = obj.disabled;
  10. //处理undefined值情况
  11. vReadOnly = (vReadOnly == undefined) ? false : vReadOnly;
  12. vDisabled = (vDisabled == undefined) ? true : vDisabled;
  13. //当敲Backspace键时,事件源类型为密码或单行、多行文本的,
  14. //并且readOnly属性为true或disabled属性为true的,则退格键失效
  15. var flag1 = ev.keyCode == 8 && (t == "password" || t == "text" || t == "textarea") && (vReadOnly == true || vDisabled == true);
  16. //当敲Backspace键时,事件源类型非密码或单行、多行文本的,则退格键失效
  17. var flag2 = ev.keyCode == 8 && t != "password" && t != "text" && t != "textarea";
  18. //判断
  19. if (flag2 || flag1) return false;
  20. }
  21. //禁止后退键 作用于Firefox、Opera
  22. document.onkeypress = forbidBackSpace;
  23. //禁止后退键 作用于IE、Chrome
  24. document.onkeydown = forbidBackSpace;
  25. </script>

JS禁用浏览器退格键的更多相关文章

  1. JS禁用浏览器退格键、禁止右键、禁止全选、复制、粘贴

    一.禁用浏览器退格键 摘抄自:https://www.cnblogs.com/wanggd/p/3164536.html 我们在真实的项目开发中经常会使用JS 对键盘上的一些按键进行禁用,常见的比如说 ...

  2. JS禁用浏览器退格键实现思路及代码

    [From] http://www.jb51.net/article/42562.htm 上周提交了一个项目(内部使用的),一同事提出个BUG,说要禁用退格键(backspace或者叫后退键),因为这 ...

  3. JS禁用键盘浏览器退格键

    我们在真实的项目开发中经常会使用JS 对键盘上的一些按键进行禁用,常见的比如说退格键(backspace/ 后退键),我在一个项目中就遇到过在页面编辑的时候禁用掉退格键,因为退格键会发生页面后退,这样 ...

  4. JS如何禁用浏览器的退格键

    <script type="text/javascript"> //处理键盘事件 禁止后退键(Backspace)密码或单行.多行文本框除外 function forb ...

  5. JavaScript:非输入框禁用退格键

    在js文件或<javascript>标签中加入如下代码: /** *非输入框禁用退格键 */ function banBackspace(e) { var ev = e || window ...

  6. jQuery 禁用退格键

    在只读区域按退格键会造成页面后退,禁用退格键可以这样做: $(document).bind("keydown", function(e){ if(e.keyCode == 8){/ ...

  7. 前端javascript如何阻止按下退格键页面回退 但 不阻止文本框使用退格键删除文本

    这段代码可以: document.onkeydown = function (e) { e.stopPropagation(); // 阻止事件冒泡传递 e.preventDefault(); // ...

  8. 04实现累加和计算功能并且实现textbox不允许输入数字以外的字符但不包括退格键同时不允许第一个数值为0

    private void button1_Click(object sender, EventArgs e) { double number1, number2; if (double.TryPars ...

  9. SqlPlus中退格键和方向键的设置

    参见:http://www.cnblogs.com/wjx515/p/3717986.html   http://blog.csdn.net/jacky0922/article/details/765 ...

随机推荐

  1. c编写程序完成m名旅客和n辆汽车的同步程序代写

    jurassic公园有一个恐龙博物馆和一个公园,有m名旅客和n辆汽车,每辆汽车仅能允许承载一名旅客.旅客在博物馆参观一阵,然后排队乘坐旅行车.当一辆车可用时,他载入一名旅客,再绕花园行驶任意长的时间. ...

  2. [Wordpress]Wordpress使用SMTP发送电邮

    参考:phpmailer_init中的代码,可以配置使用SMTP发送电邮 官方的案例代码是: add_action( 'phpmailer_init', 'my_phpmailer_example' ...

  3. Servlet & JSP - UrlRewriteFilter

    重写 URL 的好处有很多: 静态化页面,有利于搜索引擎收录. 隐藏真实的 URL,提高安全性. 当网站的结构发生变化时,无需要求用户修改书签. UrlRewriteFilter 的简单应用 1. M ...

  4. C# 为网络程序添加用户代理

    如何为网络程序添加用户代理,本人推荐使用UrlMkSetSessionOption函数, 不过该函数有一个弱点不可以X64编译,X86编译软件才可以调用该函数 否则会一直返回!S_OK意义错误.第二呢 ...

  5. JAVA鼠标屏幕绘制拖拽删除矩形

    import java.awt.Cursor; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Point; ...

  6. Android Sqlite 使用 注意事项

    1.Sqlite 写操作 并不是线程安全的 1.在多进程或多线程中使用sqlite,同时操作同一个数据库的话,会导致异常抛出. 2.不同线程或实例化多个SqliteOpenhelper来操作同一个数据 ...

  7. CF下的BackgroudWorker组件优化.

    .net compact framwork(2.0/3.5)下没有Backgroundworder组件,在网上找了一个类 经过使用发现了一些问题,主要有一个问题:在一个Dowork事件中对Report ...

  8. SQL Server监测查询性能

    SQL Server提供了以下工具(SET选项)来支持查询的监测: IO统计 TIME统计 PROFILER统计 XML统计 1. IO统计 当这个选项开启的时,对一批查询中的每一个数据对象访问的查询 ...

  9. button按钮在IE6、7、8、9、10中处理方式并不相同[转]

    http://msdn.microsoft.com/en-us/library/ms534696%28v=vs.85%29.aspx 转自:http://my.oschina.net/fz04003/ ...

  10. jQuery学习一:jQuery中的ready和load事件

    //ready事件 $(document).ready(function(){ 代码........ }); //ready事件简写: $(function(){ 代码........ }); //l ...