论坛首页 Web前端技术论坛

在页面上增加快捷键的支持

浏览 5638 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-06-07  
在Reader项目中需要加上上下item的快捷键支持。 现在贴下使用到的代码。。

你可以把事件onkeyup写在body中, <body onkeyup="connectShortKey()" />

如果动态attache的话  是不是用document.body.onkeyup== fucntion(){}的, 你需要把时间attach到document上。 另外 在firefox 和 ie下取onkeyup事件的keyCode是不一样的。如下。。。

 dojo.addOnLoad(function(){

 	document.onkeyup=function(event){
 		var keyCode = -1;
 		if (dojo.render.html.ie)
 			keyCode = window.event.keyCode;
 		else
 			keyCode = event.keyCode;
		if (!isDirectoryPage()){
			if (previousPostItem == null){
				var ci = getCurrentPostItem()
				if (ci!=null){
					ci.onclick();
				}
				return ;
			}
			
			var array =  getElementsByClass("current_post", null, "div");
			var currentItem = null;
			if (array.length ==0 ){
				return ;
			}else{
				currentItem = array[0];
			}
			// user press 'N' key
			if (keyCode == 78){
				if (currentItem.nextItem != null){
					currentItem.nextItem.onclick();
				}
			}
			
			// user press 'P' key
			if (keyCode == 80){
				if (currentItem.previousItem != null){
					currentItem.previousItem.onclick();
				}
			}
		}
		
 	};
 	
 });
   发表时间:2007-06-07  
键盘键和键盘键控制值一览表(键盘按键对应代码表)


适合EXT keycode的查询
A <--------> 65
B <--------> 66
C <--------> 67
D <--------> 68
E <--------> 69
F <--------> 70
G <--------> 71
H <--------> 72
I <--------> 73
J <--------> 74
K <--------> 75
L <--------> 76
M <--------> 77
N <--------> 78
O <--------> 79
P <--------> 80
Q <--------> 81
R <--------> 82
S <--------> 83
T <--------> 84
U <--------> 85
V <--------> 86
W <--------> 87
X <--------> 88
Y <--------> 89
Z <--------> 90
0 <--------> 48
1 <--------> 49

2 <--------> 50
3 <--------> 51
4 <--------> 52
5 <--------> 53
6 <--------> 54
7 <--------> 55
8 <--------> 56
9 <--------> 57
数字键盘 1 <--------> 96
数字键盘 2 <--------> 97
数字键盘 3 <--------> 98
数字键盘 4 <--------> 99
数字键盘 5 <--------> 100
数字键盘 6 <--------> 101
数字键盘 7 <--------> 102
数字键盘 8 <--------> 103
数字键盘 9 <--------> 104
数字键盘 0 <--------> 105
乘号 <--------> 106
加号 <--------> 107
Enter <--------> 108
减号 <--------> 109
小数点 <--------> 110
除号 <--------> 111
F1 <--------> 112
F2 <--------> 113
F3 <--------> 114
F4 <--------> 115
F5 <--------> 116
F6 <--------> 117
F7 <--------> 118
F8 <--------> 119
F9 <--------> 120
F10 <--------> 121
F11 <--------> 122
F12 <--------> 123
F13 <--------> 124
F14 <--------> 125
F15 <--------> 126
Backspace <--------> 8
Tab <--------> 9
Clear <--------> 12
Enter <--------> 13
Shift <--------> 16
Control <--------> 17
Alt <--------> 18
Caps Lock <--------> 20
Esc <--------> 27
空格键 <--------> 32
Page Up <--------> 33
Page Down <--------> 34
End <--------> 35
Home <--------> 36
左箭头 <--------> 37
向上箭头 <--------> 38
右箭头 <--------> 39
向下箭头 <--------> 40
Insert <--------> 45
Delete <--------> 46
Help <--------> 47
Num Lock <--------> 144
; : <--------> 186
= + <--------> 187
- _ <--------> 189
/ ? <--------> 191
` ~ <--------> 192
[ { <--------> 219
| <--------> 220
] } <--------> 221
'' ' <--------> 222
0 请登录后投票
   发表时间:2007-06-07  
你为什么要捉keyup不是keydown?

keyup存在一个问题,就是windows下中文输入法会产生keyup(但是没keydown),在有输入框的场合,有可能会干扰。
0 请登录后投票
   发表时间:2007-06-07  
hax 写道
你为什么要捉keyup不是keydown?

keyup存在一个问题,就是windows下中文输入法会产生keyup(但是没keydown),在有输入框的场合,有可能会干扰。


really?  明天试试。。
0 请登录后投票
   发表时间:2007-06-07  
感谢 sp42 

提供的这么详细的mapping表
0 请登录后投票
   发表时间:2007-06-07  
dengyin2000 写道
感谢 sp42 

提供的这么详细的mapping表


哈哈 不客气
这原来是Flash的keycode.经测试,EXT上通过,因此推断其它LIB都适用
0 请登录后投票
   发表时间:2007-06-08  
注意keyCode与操作系统和键盘layout有关。还有,有些key,你未必知道是什么key。比如 clear 12,你知道这是标准us布局键盘上哪个按键按出来的结果么?猜一猜,呵呵。
0 请登录后投票
   发表时间:2007-06-08  
没有留意硬件方面的东东很久了。。。
0 请登录后投票
   发表时间:2007-09-13  
IE下ABC中文输入 UP DOWN 事件都存在  哎!
1 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics