关于键盘事件中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需刷新才能执行]

(0)

相关推荐

  • C#中winform实现自动触发鼠标、键盘事件的方法

    程序触发鼠标.键盘事件是C#程序设计中比较常见的功能,本文实例展示了C#中winform实现自动触发鼠标.键盘事件的方法,有不错的实用价值.具体如下: 要想在C#程序中触发鼠标.键盘事件就必须要调用windows函数. 一.鼠标事件的触发 1.引用windows函数mouse_event /// <summary> /// 鼠标事件 /// </summary> /// <param name="flags">事件类型</param> /

  • C++键盘记录程序代码

    本文实例讲述了C++键盘记录程序.分享给大家供大家参考.具体分析如下: 主程序如下: 就是基于对话框的框架,加个个OnHookKey函数, 复制代码 代码如下: long CMainDialog::OnHookKey(WPARAM wParam, LPARAM lParam)   //处理自定义消息  {      char szKey[80]={0};      GetKeyNameText(lParam, szKey, 80);      CString strItem;      strI

  • C# Hook钩子实例代码 截取键盘输入

    一.关于本文 以最通俗的语言说明钩子的使用方法,具体到钩子的详细介绍可以参照下面的网址: http://www.microsoft.com/china/community/program/originalarticles/techdoc/hook.mspx 二.钩子的简单介绍 从字面上理解,钩子就是想钩住些东西,在程序里可以利用钩子提前处理些Windows消息. 例子:有一个Form,Form里有个TextBox,我们想让用户在TextBox里输入的时候,不管敲键盘的哪个键,TextBox里显示

  • C# 键盘Enter键取代Tab键实现代码

    说明:在填写表数据时当输入完一个文本框后,输入下一个文本框时需要用Tab键切换,但是有的人喜欢用Enter键切换下一个,此方法是Enter取代Tab键. 效果: 注释:键盘Enter键数字为:13 键盘Tab键数字为:9 函数代码: 复制代码 代码如下: private void SetEnt()        {            foreach (Control txt in (this.Page.Form.FindControl("ContentPlaceHolderEntity&qu

  • 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#中和键盘相关的事件相对比较少,大致就三种:"KeyDown"."KeyUp"和"KeyPress".(1).如何在C#程序中定义这些事件:C#中描述"KeyDown"."KeyUp"的事件的Delegate是"KeyEventHandler".而描述"KeyPress"所用的 Delegate是"KeyPressEventHandler".这

  • 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程序读取键盘码的方法,分享给大家供大家参考.具体分析如下: 一般来说,键盘码在底层开发中经常会用到,有时候我们会忘记它们,就要急急忙忙的去找 键-码 对照表查看,其实程序可以自己打印出 键-码 对应值 具体实例如下: #include <stdio.h> #include <bios.h> int main(void) { int key, modifiers; while ((key=bioskey(0)) != 0 && key!=0x

  • 基于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

  • 简单获取键盘的KeyCode

    前言: 1.上几次讨论右键禁止等问题的时候,有网友问那里有键值表,我今天写了一个javascript,以飨各位有需要者. 2.适用于ns浏览器和ie浏览器.  3.代码行. 复制代码 代码如下: <html> <!--//this code by hongseheike--> <head> <script language="javascript">   ns4 = (document.layers) ? true : false;   

  • 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

随机推荐