- 浏览: 370271 次
- 性别:
- 来自: 西安
文章分类
最新评论
-
jiangli19192:
...
自己写的一个启动JBoss服务器的bat批处理 -
56553655:
最好这样:java -Xms3700M -Xmx3700M - ...
测试本机JVM支持的最大内存 -
lizhiy05:
学习一哈……
Web Services体系结构及相关概念 -
ghy200692162:
System.out.println("开始注册Js ...
基于OSGi的JSF Web组件开发问题求解 -
xiao888lin:
你的头像看起来很像我们宿舍老四。。。
测试本机JVM支持的最大内存
在很多应用中,用户都希望WEB应用能够在界面上支持一些快捷键,最常见的就是上下左右、TAB、回车等的快捷键支持。抛开在页面上运行Applet、Flash 的方式来对键盘快捷键支持外,利用JavaScript也能够有出色的表现。
在对键盘时间的支持上,操作系统提供了一整套的虚拟键键值,要使我们的应用能够很好的支持快捷键,了解这些键值是必不可少的。
现将常见的键值列举如下:
A 0X65 U 0X85
B 0X66 V 0X86
C 0X67 W 0X87
D 0X68 X 0X88
E 0X69 Y 0X89
F 0X70 Z 0X90
G 0X71 0 0X48
H 0X72 1 0X49
I 0X73 2 0X50
J 0X74 3 0X51
K 0X75 4 0X52
L 0X76 5 0X53
M 0X77 6 0X54
N 0X78 7 0X55
O 0X79 8 0X56
P 0X80 9 0X57
Q 0X81 ESC 0X1B
R 0X82 CTRL 0X11
S 0X83 SHIFT 0X10
T 0X84 ENTER 0XD(用十进制就是13)
B 0X66 V 0X86
C 0X67 W 0X87
D 0X68 X 0X88
E 0X69 Y 0X89
F 0X70 Z 0X90
G 0X71 0 0X48
H 0X72 1 0X49
I 0X73 2 0X50
J 0X74 3 0X51
K 0X75 4 0X52
L 0X76 5 0X53
M 0X77 6 0X54
N 0X78 7 0X55
O 0X79 8 0X56
P 0X80 9 0X57
Q 0X81 ESC 0X1B
R 0X82 CTRL 0X11
S 0X83 SHIFT 0X10
T 0X84 ENTER 0XD(用十进制就是13)
还有方向键:
← 37 → 39
F1键 112 F2键 113
F3键 114 F4键 115
F5键 115 F6键 116
F7键 117 F8键 118
F1键 119 F4键 110
退格删除键 8 TAB键 40
通常,快捷键的支持都是在整个Document对象内部都有效的。因此,在声明脚本时可以采用以下方式:
<script language="javascript" for="document" event="onkeydown">
这样,在整个Document对象内部,你所声明的其内所有的脚本都会生效。因此,如果你需要做的处理都比较简单的话,你也不必要使用function来处理。这种方式或许会更加有效。
为了能够更好的支持虚拟键,JavaScript还对一些常用控制键进行了更进一步的封装,这些键有:Ctrl键、Shift键、Alt键等,对应的操作指令分别为:
window.event.ctrlKey
window.event.shiftKey
window.event.altKey
举个简单的例子:如果我们要在页面上将Enter键和Tab键都屏蔽成将光标向下一个表单元素移动,那么可以加入以下代码:
js 代码
- if(event.keyCode==13 || event.keyCode==40){
- event.keyCode=9;
- CurTabIndex=event.srcElement.tabIndex+1//将当前tabindex的值加1
- for (n=0;n<insert.elements.length;n++)
- {
- if (insert.elements[n].tabIndex==CurTabIndex) //找到下一个表单元素
- {
- insert.elements[n].focus(); //移动焦点
- return true;
- }
- }
- }
但是,你很快就会发现,上面的代码只有在 IE 上有效,而在 Netscape 上却怎么也得不到你想要的结果,原因是 Netscape 和 IE 在对键盘事件的JS支持上是不同的。对于类似于:event.keyCode 这样的东西只有IE才能够支持,而在 Netscape 上,则采用e.which ,因此,如果你的应用需要支持多浏览器版,需要做的在这里也许仅仅是用e.which 来代替 window.event.keyCode 。
用两种浏览器检查上述实例,你会发现执行结果不总是一样的,这是因为两种浏览器的键盘代码设置不相同,因此你必须使用单独的代码分别来写这段程序(行业垄断和竞争的悲剧呀!--痛苦的可是我们这帮程序员呀......)。
以下是一个在网路上找到的对 IE 和 Netscape 进行分别处理的小程序,通过这段代码可以很容易看出两个浏览器的不同处理方式:
js 代码
- function init() {
- if (ns4) block = document.blockDiv
- if (ie4) block = blockDiv.style
- block.xpos = parseInt(block.left)
- block.active = false
- document.onkeydown = keyDown
- document.onkeyup = keyUp
- if (ns4) document.captureEvents(Event.KEYDOWN | Event.KEYUP)
- }
- function keyDown(e) {
- if (ns4) {var nKey=e.which; var ieKey=0}
- if (ie4) {var ieKey=event.keyCode; var nKey=0}
- if ((nKey==97 || ieKey==65) && !block.active) { // if "A" key is pressed
- block.active = true slide()
- }
- }
- function keyUp(e) {
- if (ns4) {var nKey=e.which; var ieKey=0}
- if (ie4) {var ieKey=event.keyCode; var nKey=0}
- if (nKey==97 || ieKey==65) {
- block.active = false // if "A" key is released
- }
- }
- function slide() {
- if (block.active) {
- block.xpos += 5
- block.left = block.xpos
- status = block.xpos // not needed, just for show
- setTimeout("slide()",30)
- }
- }
发表评论
-
让mybatis支持管理和操作多个不同的业务数据库实例
2017-05-07 21:25 6399在微服务大行其道的今天,一个工程中同时操作多个不同的业务数 ... -
Spring Acegi鉴权管理之基础模式(BASIC)
2017-05-01 01:25 1099Acegi久负盛名,这个家伙是一个spring中广泛使用的认 ... -
Restful架构服务构建指南
2017-04-17 01:19 540REST定位为“分布式超媒体应用(Distributed H ... -
集成ibatis的spring工程升级到spring4.0实操手册
2017-04-03 21:57 3290Spring4及已经的版本放弃了对ibatis的集成支持, ... -
Docker使用之Java web应用部署
2017-03-26 13:50 4041此篇博客一部分内容 ... -
Java设计设计模式之桥接模式(Bridge)
2017-03-11 19:19 0... -
Java设计设计模式之组合模式(Composition)
2017-03-11 17:32 1083那王麻子自从做了肉夹馍生意后,真是风生水起,分店开的跟下饺 ... -
Java设计设计模式之适配器模式(Adaptor)
2017-03-05 15:29 1551我的博客自从2008年以 ... -
RBAC原理介绍及开源框架kasai使用分析
2008-08-13 16:20 10559RBAC 模型作为目前 ... -
用Maven Plug-In来构建Corba开发环境
2008-03-21 10:49 3060这两天研究Corba,总是感觉需要在Java的命令行执行“id ... -
LDAP介绍
2008-03-18 09:57 16591.1. LDAP是什么 LDAP是轻量目录访问协议,英文全称 ... -
Java与CORBA技术结合的前景展望
2008-03-13 11:09 1940随着Internet、Intranet及Extranet在全球 ... -
Drools规则引擎应用总结
2008-02-01 10:07 0package com.playphone.qc.workfl ... -
详解Axis2实现Web Services之ADB篇
2007-07-17 22:35 10020构建一个新的Web Services服务,会有很多种不同的方法 ... -
详解Axis2实现Web Services之AXIOM篇
2007-07-17 22:30 6972AXIOM——AXis 对象模型(AXis Object M ... -
详解Axis2实现Web Services之POJOs篇
2007-07-17 22:25 5338在Axis2对Web Services的众多实现方式中,POJ ... -
Web Services体系结构及相关概念
2007-07-17 22:20 3898Web Services体系结构是面向对象分析与设计(OOA ... -
Spring包结构以及各个包之间引用关系说明
2007-07-17 22:02 5161Spring 包结构说明: spring.jar 包含 ... -
从Hello World开始深入Ajax
2007-07-17 21:11 16301. 初始化XMLHttpRequest对象 ... -
在Javascript中用来获取页面焦点信息
2007-07-17 16:59 4218在Javascript中用来获取页 ...
相关推荐
1. **捕获键盘事件**:可以通过为元素添加事件监听器来捕获键盘事件。 2. **阻止默认行为**:有时我们需要阻止浏览器对某些键的默认行为,例如阻止`Enter`键提交表单,可以使用`event.preventDefault()`。 3. **判断...
1. 自定义脚本:开发者可以手动编写JavaScript代码,定义键盘布局、按键功能以及响应用户交互的事件处理函数。这种方法需要一定的JavaScript基础,但具有高度的灵活性和可定制性。 2. 使用现成的库:市面上存在许多...
本资源"Javascript脚本实例(几百个各种脚本分类"提供了一个丰富的实例库,涵盖了JavaScript的各种应用场景和技巧。 首先,我们要理解JavaScript的基础知识。它由Brendan Eich在1995年为Netscape Navigator浏览器...
首先,让我们了解一下JavaScript如何处理键盘事件。在JavaScript中,我们可以监听键盘事件,如`keydown`、`keyup`和`keypress`。这些事件在用户按下、释放或敲击键时触发。通过监听这些事件,开发者可以捕获到用户的...
总结来说,JavaScript实现的软键盘是一项结合了事件处理、DOM操作、用户交互设计和安全考量的技术,它在无物理键盘的环境中提供了重要的输入途径。理解和掌握这一技术对于提升网页应用的用户体验和安全性至关重要。
这个"javascript脚本收藏"包含了一系列的JavaScript源代码和实现实例,旨在帮助开发者和学习者深入理解和掌握JavaScript的各种功能和应用。 1. **基础语法**:JavaScript的基础包括变量声明(var、let、const)、...
事件监听、事件冒泡和事件捕获是理解事件处理机制的关键。 5. **DOM操作**:Document Object Model(DOM)是HTML和XML文档的编程接口。JavaScript可以使用DOM API来修改页面元素、添加新元素、删除元素,以及获取...
要模拟这些键盘事件,我们可以利用`dispatchEvent`方法。这个方法允许我们创建并触发自定义事件。下面是如何模拟一个`keydown`事件的例子: ```javascript // 创建一个新的keydown事件 var event = new ...
此外,文章还提到了一些编程相关的术语,如“AS”,“asc”,“c”,“ip”,“java”,“javas”,“javascript”,“pt”,“rip”,“sc”,“script”,“事件”,“脚本”,“键盘事件”,这些都是编程语言或者...
在JavaScript中,可以利用浏览器的`KeyboardEvent`构造函数来模拟键盘事件,但这通常仅限于Web环境。 5. **安全性与合法性** 模拟键盘按键可能会涉及到安全问题,因为它可以被滥用来进行恶意操作,比如键盘记录...
在JavaScript中,键盘事件是用户与网页交互的重要方式之一。JavaScript键盘事件通常涉及用户的按键操作,如按键按下(keydown)、按键弹起(keyup)和特定的按键动作(keypress)。这些事件使得开发者可以响应用户的...
例如,我们可以使用 onKeyDown 事件来捕获键盘输入,并使用 onMouseMove 事件来捕获鼠标移动事件。 1. onKeyPress:当键盘上的某个键被按下并且释放时触发的事件。 2. onKeyDown:当键盘上的某个键被按下时触发的...
1. **事件处理**:JavaScript通过监听用户的各种交互,如鼠标点击、键盘输入等,来控制游戏流程。例如,在连连看游戏中,玩家点击两个相同的图案,JavaScript会捕获这些点击事件,并进行相应的匹配逻辑判断。 2. **...
2. 键盘事件: - onKeyPress:当用户按下并释放一个键时触发,通常用于检测特殊键(如回车、空格)的按下。 - onKeyDown:当用户按下键盘上的任意键时触发,可用于实现快捷键功能。 - onKeyUp:当用户释放键盘上...
在这个“javascript实例应用---鼠标键盘类.rar”压缩包中,我们很可能会找到一系列与鼠标和键盘事件相关的JavaScript代码示例,这些都是创建交互式网页的关键技术。 在JavaScript中,鼠标事件和键盘事件是两个重要...
例如,通过JavaScript,我们可以监听鼠标拖放事件,捕获开始拖动、拖动中和释放时的状态,进而更新事件的位置。不过,描述中提到算法需要优化处理,这可能指的是在拖放过程中,保持事件的时间准确性、防止重叠以及...
以上事件涵盖了JavaScript中几乎所有可能的交互场景,通过合理利用这些事件,开发者可以构建出高度互动、用户体验良好的Web应用程序。然而,值得注意的是,并非所有浏览器都支持所有事件类型,因此在实际开发中,应...
关于“软键盘,JS编写的软键盘”的标签,进一步强调了这个功能的核心是利用JavaScript实现。JavaScript是一种广泛用于前端开发的脚本语言,它可以在浏览器端运行,提供实时的交互性。利用JavaScript编写软键盘,可以...
标题中提到的是“jQuery javaScript捕获回车事件(示例代码)”,这里指的是使用jQuery库来处理JavaScript中的回车键事件,通过编写示例代码的形式,给出实现该功能的具体方法。在了解这个知识点之前,我们需要对...
JavaScript(简称JS)虚拟键盘是一种基于Web的解决方案,它允许用户在网页上输入文本,尤其适用于触屏设备或需要安全输入的场景。标题中的“支持中英文切换”意味着这款虚拟键盘具备了输入中文和英文字符的功能,这...