在WEB APP 里,经常考虑到某种功能使用快捷键,可是组合快捷键和F1-F12等功能键又不能直接定义使用,怎么办呢?
有一些简单办法可以做到使用快捷键而不必要大费周章,
1。 需要使用 F2-F12等建立功能热键。
2。需要使用 Ctrl+A ,Ctrl+B 等
Code
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2 <HTML>
3 <HEAD>
4 <TITLE> 快捷键演示页面 </TITLE>
5 </HEAD>
6 <BODY>
7 <p>请按F2,F3,A,CTRL+B键测试</p>
8 <p>F2---按键提示!</p>
9 <p>F3---跳到百度!</p>
10 <p>A---跳到谷歌!</p>
11 <p>CTRL+B---跳到新浪!</p>
12 <script><!--
13 function activeHotKey() {
14 document.body.onkeydown = loadHotKey;
15 }
16 function loadHotKey() {
17 //初始化自定义对象hotKey
18 var hotK = new hotKey();
19 //设置 按F2 F3的事件(参数自定义)
20 var success = hotK.pF2(pressKey,'F2') && hotK.pF3();
21 //设置 按A Ctrl+B 的事件(参数自定义) 并返回事件激发点
22 return success && hotK.pA() && hotK.pCtrlB();
23
24 }
25
26 //定义按键事件
27 function pressKey(){
28 alert(arguments[0]);
29 }
30
31 function hotKey() {
32 //f2 f3
33 this.F2 = 113;
34 this.F3 = 114;
35
36 //ctrl alt shift
37 this.CTRL = event.ctrlKey;
38 this.ALT = event.altKey;
39 this.SHIFT = event.shiftKey;
40
41 //letter
42 this.A = 65;
43 this.B = 66;
44 }
45
46 hotKey.prototype = {
47 pF2: function(func, args) {
48 if (event.keyCode == this.F2) {
49 func(args);
50 event.keyCode = 505;
51 return false;
52 }
53 return true;
54 },
55 pF3: function() {//跳转URL
56 if (event.keyCode == this.F3) {
57 event.keyCode = 505; //reset keyCode
58 window.location.href = "http://www.baidu.com";
59 return false;
60 }
61 return true;
62 },
63 pA: function() {//跳转URL
64 if (event.keyCode == this.A) {
65 event.keyCode = 505; //reset keyCode
66 window.location.href = "http://www.g.cn";
67 return false;
68 }
69 return true;
70 },
71 pCtrlB: function(func, args) {
72 if (this.CTRL && event.keyCode == this.B) {
73 if (func) {
74 func(args);
75 } else {
76 window.location.href = "http://www.yahoo.com.cn";
77 }
78 event.keyCode = 505;
79 return false;
80 }
81 return true;
82 }
83
84 }
85
86 if (window.attachEvent) {
87 window.attachEvent("onload", activeHotKey);
88 }
89 //--></script>
90 </BODY>
91 </HTML>
92
93