js中获取键盘按下键值event.keyCode、event.charCode和event.which的兼容性详解
前言
在阅读本文前,相信大家应该都有所了解,在js获取键盘按下的键值有:event.keyCode
、event.charCode
和event.which
。
其中:
谷歌浏览器:对event.keyCode
、event.charCode
和event.which
都兼容。
火狐浏览器:对event.keyCode
部分键值有效,如上下左右键(37,38,39,40),enter键(13),PgUp(33),PgDn(34)等部分有效,对数字键,字母键无效。
event.which
也是部分键值有效,如字母键,数字键,enter键,Backspace键等有效,对上下左右键,PgUp(33),PgDn(34)键无效。
event.charCode
也是对部分键值有效,如字母键,数字键,,Backspace键等有效,对enter键,上下左右键,PgUp(33),PgDn(34)键无效。
ie浏览器:中,IE8及以下浏览器对event.charCode
无效,event.keyCode
和event.which
对大部分键值能获得,但是有少部分也不能获得
网络查看说event.which
将 event.keyCode
和 event.charCode
标准化了。但实际还是有区别的。
所以一般都这样写兼容:
e.keyCode<span class="hljs-params">||</span>e.which<span class="hljs-params">||</span>e.charCode;
jquery API地址:http://api.jquery.com/event.which/
如下例子介绍Query限制文本框只能输入数字和小数点的方法
$(function(){ /*JQuery 限制文本框只能输入数字*/ $(".NumText").keyup(function(){ $(this).val($(this).val().replace(/[^0-9]/g,'')); }).bind("paste",function(){ //CTR+V事件处理 $(this).val($(this).val().replace(/[^0-9]/g,'')); }).css("ime-mode", "disabled"); //CSS设置输入法不可用 /*JQuery 限制文本框只能输入数字和小数点*/ $(".NumDecText").keyup(function(){ $(this).val($(this).val().replace(/[^0-9.]/g,'')); }).bind("paste",function(){ //CTR+V事件处理 $(this).val($(this).val().replace(/[^0-9.]/g,'')); }).css("ime-mode", "disabled"); //CSS设置输入法不可用 });
Keycode对照表如下:
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对我们的支持。
相关推荐
-
window.event.keyCode兼容IE和Firefox实现js代码
HTML代码 复制代码 代码如下: <input type="text" onkeydown="keyNumAll(event);" > Javascript 代码 复制代码 代码如下: function keyNumAll(evt){ //兼容IE和Firefox获得keyBoardEvent对象 evt = (evt) ? evt : ((window.event) ? window.event : ""); var key =
-
JavaScript 键盘event.keyCode值列表大全
网上收集的KeyCode值方便大家查找: keycode 8 = BackSpace BackSpace keycode 9 = Tab Tab keycode 12 = Clear keycode 13 = Enter keycode 16 = Shift_L keycode 17 = Control_L keycode 18 = Alt_L keycode 19 = Pause keycode 20 = Caps_Lock keycode 27 = Escape Escape keycode
-
event.keyCode键码值表 附只能输入特定的字符串代码
复制代码 代码如下: <script language="javascript" type="text/javascript"> function onlyNum() { if(!(event.keyCode==46)&&!(event.keyCode==8)&&!(event.keyCode==37)&&!(event.keyCode==39)&&!(event.keyCode==190)
-
JS键盘的键码(event.keyCode)图片版
图片版:点击看大图 网上收集的KeyCode值方便大家查找: keycode 8 = BackSpace BackSpace keycode 9 = Tab Tab keycode 12 = Clear keycode 13 = Enter keycode 16 = Shift_L keycode 17 = Control_L keycode 18 = Alt_L keycode 19 = Pause keycode 20 = Caps_Lock keycode 27 = Escape Esca
-
javaScript window.event.keyCode 集合与测试方法
IE only的监听代码 function document.onkeydown() { str1=String.fromCharCode(event.keyCode); txt.value = str1+"的keycode = "+window.event.keyCode; } [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] Ascii 代码表 Ascii 0 {Nulo, Sem Som} Ascii 1 Ascii 2 Ascii 3 Ascii 4 Ascii 5
-
jquery利用event.which方法获取键盘输入值的代码
实例 显示按了哪个键: $("input").keydown(function(event){ $("div").html("Key: " + event.which); }); 亲自试一试 定义和用法 which 属性指示按了哪个键或按钮. 语法 event.which参数 描述 event 必需.规定要检查的事件.这个 event 参数来自事件绑定函数. jQuery丢弃了标准的 button 属性采用 which,这有点让人费解. whic
-
Javascript中的window.event.keyCode使用介绍
主要就是为了监听键盘按下的是哪个键,并且转成ASCII码; 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m
-
js中获取键盘按下键值event.keyCode、event.charCode和event.which的兼容性详解
前言 在阅读本文前,相信大家应该都有所了解,在js获取键盘按下的键值有:event.keyCode.event.charCode和event.which. 其中: 谷歌浏览器:对event.keyCode.event.charCode和event.which都兼容. 火狐浏览器:对event.keyCode部分键值有效,如上下左右键(37,38,39,40),enter键(13),PgUp(33),PgDn(34)等部分有效,对数字键,字母键无效. event.which也是部分键值有效,如字母
-
js中获取键盘事件的简单实现方法
<script type="text/javascript" language=JavaScript charset="UTF-8"> document.onkeydown=function(event){ var e = event || window.event || arguments.callee.caller.arguments[0]; if(e && e.keyCode==27){ // 按 Esc //要做的事情 } if(
-
JS实现获取键盘按下的按键并显示在页面上的方法
本文实例讲述了JS实现获取键盘按下的按键并显示在页面上的方法.分享给大家供大家参考,具体如下: 请你使用键盘输入一些字符,这些字符就被显示在网页的空白处,是不是少了文本框或文本域之类的东西,觉得挺不习惯呢?这个效果是应用了JavaScript中的document.onkeypress对象,监测键盘的一举一动,并记录下哪些键被按下,有意思吧,想研究Js的朋友,就从这些小例子开始吧. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-web-sh
-
JSON创建键值对(key是中文或者数字)方式详解
先准备好一个空的json对象 var obj = {}; 1. 最原始的方法 obj.name = 'zhangsan'; //这种方式很简单的添加了一个键值对 //输出:{name:"zhangsan"} //缺点:这边的name不能是对象 /* 比如: var name = 'tom'; obj.name = 'zhangsan'; 输出obj:{name:'zhangsan'} 中文可以使用,但是数字不能使用 obj.家="中国"; obj.88(不能这么使用
-
js中获取jsp表单中radio类型的值简单实例
1.问题的引出: 我们经常需要在js中使用ajax向后台发送请求,在这之前我们需要搜集所需的Form表单参数, 我常常会如此解决,简单省事: // editBasicDataObjectForm 为 form的id,data的形式为 name1=val1&name2=val2&name3=val3&..... var data = $("#editBasicDataObjectForm").serialize(); 但在一次我需要单独获得表单中radio类型的字
-
js获取对象,数组所有属性键值(key)和对应值(value)的方法示例
本文实例讲述了js获取对象,数组所有属性键值(key)和对应值(value)的方法.分享给大家供大家参考,具体如下: <script> var values=function(object) { var values = []; for (var property in object) values.push(object[property]); return values; } //写成标准的方法(数组是object的一种): function getObjectKeys(object) {
-
MybatisPlus中插入数据后获取该对象主键值的实现
实体对象 主键IdType要设置为AUTO 表示数据库ID自增 @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) public class Employee implements Serializable { private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO) priv
-
Android中Spinner控件之键值对用法实例分析
本文实例讲述了Android中Spinner控件之键值对用法.分享给大家供大家参考.具体如下: 一.字典表,用来存放键值对信息 package com.ljq.activity; import java.io.Serializable; @SuppressWarnings("serial") public class Dict implements Serializable { private Integer id; private String text; public Dict()
-
JS中获取 DOM 元素的绝对位置实例详解
在操作页面滚动和动画时经常会获取 DOM 元素的绝对位置,例如 本文 左侧的悬浮导航,当页面滚动到它以前会正常地渲染到文档流中,当页面滚动超过了它的位置,就会始终悬浮在左侧. 本文会详述各种获取 DOM 元素绝对位置 的方法以及对应的兼容性.关于如何获取 DOM 元素高度和滚动高度,请参考视口的宽高与滚动高度 一文. 概述 这些是本文涉及的 API 对应的文档和标准,供查阅: API 用途 文档 标准 offsetTop 相对定位容器的位置 MDN CSSOM View Module clien
-
js中获取URL参数的共用方法getRequest()方法实例详解
下面通过一段代码给大家介绍js中获取URL参数的共用方法getRequest()方法,具体代码如下所示: getRequest : function() { var url = location.search; //获取url中"?"符后的字串 var theRequest = new Object(); if (url.indexOf("?") != -1) { var str = url.substr(1); strs = str.split("&am
随机推荐
- winXP下用VBS写的代码编辑器
- CentOS7.2虚拟机上安装MySQL 5.6.32的教程
- 一步一步教你网站同步镜像(转载)
- 对于Python的框架中一些会话程序的管理
- web文件管理器的后续开发
- awk中RS、ORS、FS、OFS的区别和联系小结
- 分析MySQL中索引引引发的CPU负载飙升的问题
- jQuery EasyUI常用数据验证汇总
- JavaScript拖拽、碰撞、重力及弹性运动实例分析
- 关于jquery.validate1.9.0前台验证的使用介绍
- js实现的简练高效拖拽功能示例
- php数组生成html下拉列表的方法
- 解决Google Adsense广告只显示英文的问题
- 使用单链表实现多项式计算示例
- PHP获取文件的MD5值并判断是否被修改的例子
- C#泛型约束的深入理解
- Python中super函数的用法
- Python:Scrapy框架中Item Pipeline组件使用详解
- Golang中的int类型和uint类型到底有多大?
- python中append实例用法总结