禁止浏览器backspace键(退格键)时跳转页面(extjs,javascript)

Ext实现方式:

//方法一
 var key = new Ext.KeyMap(document,{
  key: 8,
  fn: function(obj,e){
   var type = e.target.type;
   var readonly = e.target.readOnly;
   if(type != ‘text‘ && type != ‘textarea‘ && type != ‘password‘){
    //e.preventDefault();
    e.stopEvent();
   }
   else if(readonly){
    //e.preventDefault();
    e.stopEvent();
   }
  },
  scope: this
 });
//方法二

Ext.getDoc().on(‘keydown‘,function(e){
    if(e.getKey() == 8 && e.getTarget().type ==‘text‘ && !e.getTarget().readOnly){  

    }else if(e.getKey() == 8 && e.getTarget().type ==‘textarea‘ && !e.getTarget().readOnly){   

    }else if(e.getKey() == 8){
        e.preventDefault();
    }
}); 

JavaScript实现方式:

function document.onkeydown()
{
  if ((event.keyCode==8) ) //屏蔽退格删除键
  {
    if (window.event.srcElement.tagName.toUpperCase()!="INPUT" && window.event.srcElement.tagName.toUpperCase()!="TEXTAREA" && window.event.srcElement.tagName.toUpperCase()!="TEXT")
    {
      event.keyCode=0;
      event.returnValue=false;
    }
  }
}  
时间: 2024-10-07 20:31:13

禁止浏览器backspace键(退格键)时跳转页面(extjs,javascript)的相关文章

Linux 使用退格键时出现^H解决方法

当我们再和脚本交互的时候,在终端上输错了内容,使用退格键,屏幕上会出现乱码,比如 ^H.^H不是H键的意思,是backspace. 主要是当你的终端backspace有问题的时候才需要设置. 解决方法有两种: 1.要使用回删键(backspace)时,同时按住ctrl键 2.设定环境变量 3.在脚本的开头可结尾 参数 stty erase ^H stty erase ^? 2)在bash下:$ stty erase ^? 或者把 stty erase ^? 添加到.bash_profile中.

[转] linux下shell中使用上下键翻出历史命名时出现^[[A^[[A^[[A^[[B^[[B的问题解决,Linux使用退格键时出现^H解决方法

[From] https://www.zmrbk.com/post-2030.html https://blog.csdn.net/suifengshiyu/article/details/40952771 我的理解是,如果出现如题所描述的问题,这是因为使用了不同的shell程序和对应的stty设置对应关系所综合作用的结果. 这是/bin/sh里面stty -a命令输出的信息: $ stty -a speed 38400 baud; rows 43; columns 209; line = 0;

Linux使用退格键时出现^H ^?解决方法

Linux使用退格键时出现^H ^?解决方法 在linux下执行脚本不注意输错内容需要删除时总是出现^H ^H不是H键的意思,是backspace.主要是当你的终端backspace有问题的时候才需要设置. 解决方法有两种: 1.要使用回删键(backspace)时,同时按住ctrl键 2.设定环境变量 在脚本的开头或结尾 参数 stty erase ^H stty erase ^? 在bash下:$stty erase ^? 或者把 stty erase ^? 添加到.bash_profile

Ubuntu使用VI编辑时退格键不能正常使用问题解决

新安装了Ubuntu,使用VI编辑文件时,发现删除不能像普通文本那样删除. 解决办法,新安装VIM解决问题. 参考文章: http://blog.sina.com.cn/s/blog_7d0c2fed01010zbi.html 这个问题主要是新系统直装了vi,没有装vim.因为vi是不能直接按退格键删除字符的,所以当你使用退格键删除字符,只有在按下esc时,那些字符才会消失...vim可以直接像记事本一样编辑字符!

HBase的shell命令行界面按退格键(Backspace)无法删除问题

在HBase的shell命令行界面输入错误项按"退格键"删除,却怎么也删除不了: 解决办法: 第一步,修改SecureCRT的设置参数: 第二步,按"Ctrl+退格键(Backspace)"进行删除即可.

解决vim 退格键(backspace)不能用

两个步骤: 1.去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限 set nocompatible 2.backspace有几种工作方式,默认是vi兼容的.对新手来说很不习惯.对老vi 不那么熟悉的人也都挺困扰的.可以用set backspace=indent,eol,start来解决. indent: 如果用了:set indent,:set ai 等自动缩进,想用退格键将字段缩进的删掉,必须设置这个选项.否则不响应.eol:如果插入模式下在行开头,想通过退格键合并两行,需要设置e

SecureCRT终端上使用spark-shell时按退格键无反应的解决方法

问题:用SecureCRT远程连接至Spark集群,启动spark-shell却发现输错命令后却无法用退格键删除. 解决方法: 第一步: 在SecureCRT的菜单栏选择"OPtions(选项)"按钮,在弹出的选项中选择"Session Options(会话选项)" 第二步: 在弹出的对话框中选择左侧的"Emulation(终端)",再选择"仿真",在右侧Terminal(终端)的选择中选择"Linux"

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

这段代码可以: document.onkeydown = function (e) { e.stopPropagation(); // 阻止事件冒泡传递 e.preventDefault(); // 阻止浏览器默认事件的发生 // your code if (e.keyCode == 8) { // keyCode == 8 表示按下的回退按钮 } } 下面更正一下,上面的写法有一个比较严重的问题: 这种写法虽然屏蔽了回车键页面回退的功能,但同样,如果该页面有文本输入框,那么这个输入框将不能使用

SSH中的SQL命令按退格键出现乱码的问题解决

用SSH调用SQLPLUS输入SQL语句,按backspace(退格键)出现^H的乱码如下所示: [[email protected] ~]$ sqlplus / as sysdba SQL*Plus: Release 10.2.0.1.0 - Production on Fri Jun 6 00:09:23 2014 Copyright (c) 1982, 2005, Oracle.  All rights reserved. Connected to: Oracle Database 10g