关于键盘事件中keyCode、which和charCode 的兼容性测试
测试结果:
在IE下:
>> 支持keyCode
>> 不支持which和charCode,二者值为 undefined
在Firefox下:
>> 支持keyCode,除功能键外,其他键值始终为 0
>> 支持which和charCode,二者的值相同
在Opera下:
>> 支持keyCode和which,二者的值相同
>> 不支持charCode,值为 undefined
//By 枫岩@IECN.Net
function $(s){
return document.getElementById(s)?document.getElementById(s):s;
}
function viewKeyInfo(e){
var currKey=0,CapsLock=0;
var e=e||event;
currKey=e.keyCode||e.which||e.charCode;
CapsLock=currKey >=65 && currKey
请按下任意键看测试效果:
type:
当前Key:
Decimal:
keyCode: 注:在FF下,keyCode始终为0
which: 注:在IE下,which始终为undefined ; 在Opera下,keyCode和charCode二者的值相同
charCode: 注:在IE、Opera下,charCode始终为undefined ; 在FF下,which和charCode二者的值相同
大写:
altKey:
ctrlKey:
shiftKey:
repeat:
body {color:#999;font:normal 14px tahoma,宋体,Geneva,Arial,sans-serif;}
span {color:#f00;font-weight:bold;padding:0 5px;}
strong {color:#090;font-weight:normal;padding:0 5px;}
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
相关推荐
-
深入分析C#中处理和键盘相关事件的详解
在C#中和键盘相关的事件相对比较少,大致就三种:"KeyDown"."KeyUp"和"KeyPress".(1).如何在C#程序中定义这些事件:C#中描述"KeyDown"."KeyUp"的事件的Delegate是"KeyEventHandler".而描述"KeyPress"所用的 Delegate是"KeyPressEventHandler".这
-
C++键盘记录程序代码
本文实例讲述了C++键盘记录程序.分享给大家供大家参考.具体分析如下: 主程序如下: 就是基于对话框的框架,加个个OnHookKey函数, 复制代码 代码如下: long CMainDialog::OnHookKey(WPARAM wParam, LPARAM lParam) //处理自定义消息 { char szKey[80]={0}; GetKeyNameText(lParam, szKey, 80); CString strItem; strI
-
C#中winform实现自动触发鼠标、键盘事件的方法
程序触发鼠标.键盘事件是C#程序设计中比较常见的功能,本文实例展示了C#中winform实现自动触发鼠标.键盘事件的方法,有不错的实用价值.具体如下: 要想在C#程序中触发鼠标.键盘事件就必须要调用windows函数. 一.鼠标事件的触发 1.引用windows函数mouse_event /// <summary> /// 鼠标事件 /// </summary> /// <param name="flags">事件类型</param> /
-
C# Winform 实现屏蔽键盘的win和alt+F4的实现代码
此时希望用户不能通过键盘alt+F4来结束程序及通过Win的组合键对窗口进行操作.我在网上搜索了一下,采用全局键盘钩子的方法可以做到屏蔽用户对键盘的操作..以下为相关代码,用到了Form1_load事件和Form1_FormClosing事件: 复制代码 代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing
-
基于C#实现的HOOK键盘钩子实例代码
本文所述为基于C#实现的HOOK实例,该实例可用来屏蔽系统热键.程序主要实现了安装钩子.传递钩子.卸载钩子等功能.在传递钩子中: <param name="pHookHandle">是您自己的钩子函数的句柄.用该句柄可以遍历钩子链</param> <param name="nCode">把传入的参数简单传给CallNextHookEx即可</param> <param name="wParam"
-
键盘KeyCode值列表汇总
keycode 0 =keycode 1 =keycode 2 =keycode 3 =keycode 4 =keycode 5 =keycode 6 =keycode 7 =keycode 8 = BackSpace BackSpacekeycode 9 = Tab Tabkeycode 10 =keycode 11 =keycode 12 = Clearkeycode 13 = Enterkeycode 14 =keycode 15 =keycode
-
C# Hook钩子实例代码 截取键盘输入
一.关于本文 以最通俗的语言说明钩子的使用方法,具体到钩子的详细介绍可以参照下面的网址: http://www.microsoft.com/china/community/program/originalarticles/techdoc/hook.mspx 二.钩子的简单介绍 从字面上理解,钩子就是想钩住些东西,在程序里可以利用钩子提前处理些Windows消息. 例子:有一个Form,Form里有个TextBox,我们想让用户在TextBox里输入的时候,不管敲键盘的哪个键,TextBox里显示
-
c# Form中的键盘响应具体实现思路
由于工程项目需要,要在全屏Form中加上键盘ESC的响应,实现的效果就是:全屏中press键盘上的Escape键,程序结束. 原本觉得挺简单的功能,却捣鼓了一会儿才解决.大致总结一下步骤: 首先在form的designer下加上 this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.Form_KeyPress); 然后写响应函数 复制代码 代码如下: private void Form_KeyPress(objec
-
C++处理键盘输入的方法
本文实例讲述了C++处理键盘输入的方法,可实现简单处理键盘输入,分享给大家供大家参考.具体实现方法如下: 需要响应WM_CHAR消息: 复制代码 代码如下: #include <string> static std::string str; 在wm_char中: 复制代码 代码如下: str = str + char(wParam); ::InvalidateRect(hWnd, NULL, 0); return 0; 在wm_paint中: 复制代码 代码如下: case WM_PAIN
-
C程序读取键盘码的方法
本文以一个简单实例讲述了C程序读取键盘码的方法,分享给大家供大家参考.具体分析如下: 一般来说,键盘码在底层开发中经常会用到,有时候我们会忘记它们,就要急急忙忙的去找 键-码 对照表查看,其实程序可以自己打印出 键-码 对应值 具体实例如下: #include <stdio.h> #include <bios.h> int main(void) { int key, modifiers; while ((key=bioskey(0)) != 0 && key!=0x
-
简单获取键盘的KeyCode
前言: 1.上几次讨论右键禁止等问题的时候,有网友问那里有键值表,我今天写了一个javascript,以飨各位有需要者. 2.适用于ns浏览器和ie浏览器. 3.代码行. 复制代码 代码如下: <html> <!--//this code by hongseheike--> <head> <script language="javascript"> ns4 = (document.layers) ? true : false;
-
C# 键盘Enter键取代Tab键实现代码
说明:在填写表数据时当输入完一个文本框后,输入下一个文本框时需要用Tab键切换,但是有的人喜欢用Enter键切换下一个,此方法是Enter取代Tab键. 效果: 注释:键盘Enter键数字为:13 键盘Tab键数字为:9 函数代码: 复制代码 代码如下: private void SetEnt() { foreach (Control txt in (this.Page.Form.FindControl("ContentPlaceHolderEntity&qu
随机推荐
- JavaScript的Backbone.js框架入门学习指引
- DOM3中的js textInput文本事件
- Extjs4.1.x 框架搭建 采用Application动态按需加载MVC各模块完美实现
- 打造基于jQuery的高性能TreeView(asp.net)
- PHP操作文件方法问答
- 老生常谈PHP面向对象之解释器模式
- PHP 年月日的三级联动实例代码
- PHP 多维数组排序(usort,uasort)
- php图片缩放实现方法
- 一个基于flask的web应用诞生 组织结构调整(7)
- PHP 图像尺寸调整代码
- JS实现浏览器状态栏文字闪烁效果的方法
- Linux 中LVS NAT 配置步骤的详解
- 查看linux中某个端口(port)是否被占用的方法
- jquery实现excel导出的方法
- 简单谈谈json跨域
- php生成网页桌面快捷方式
- C++设计模式之工厂方法模式
- Android开发使用Handler实现图片轮播功能示例
- 深入理解vue中slot与slot-scope的具体使用