9eab2fa1b0bd006c7dbed469c0d52cda4292e2b2
3 Key Events: A Really Simple Key Handler
10 replaceChildNodes('specialMessage', 'You invoked the special F1 handler!');
12 handleEscape
: function() {
13 replaceChildNodes('specialMessage', 'You invoked the special Escape handler!');
15 updateModifiers
: function(e
) {
16 var modifiers
= e
.modifier();
17 replaceChildNodes('shift', modifiers
.shift
);
18 replaceChildNodes('ctrl', modifiers
.ctrl
);
19 replaceChildNodes('alt', modifiers
.alt
);
20 replaceChildNodes('meta', modifiers
.meta
);
24 KeyEvents
.specialKeyMap
= {
25 'KEY_F1': KeyEvents
.handleF1
,
26 'KEY_ESCAPE': KeyEvents
.handleEscape
29 connect(document
, 'onkeydown',
31 if (getElement('stopBox').checked
== true) {
35 // We're storing a handled flag to work around a Safari bug:
36 // http://bugs.webkit.org/show_bug.cgi
?id
=3387
37 if (!KeyEvents
.handled
) {
39 var fn
= KeyEvents
.specialKeyMap
[key
.string
];
43 replaceChildNodes('onkeydown_code', key
.code
);
44 replaceChildNodes('onkeydown_string', key
.string
);
45 KeyEvents
.updateModifiers(e
);
47 KeyEvents
.handled
= true;
50 connect(document
, 'onkeyup',
52 if (getElement('stopBox').checked
== true) {
56 KeyEvents
.handled
= false;
58 replaceChildNodes('onkeyup_code', key
.code
);
59 replaceChildNodes('onkeyup_string', key
.string
);
60 KeyEvents
.updateModifiers(e
);
63 connect(document
, 'onkeypress',
65 if (getElement('stopBox').checked
== true) {
70 replaceChildNodes('onkeypress_code', key
.code
);
71 replaceChildNodes('onkeypress_string', key
.string
);
72 KeyEvents
.updateModifiers(e
);
75 connect(window
, 'onload',
77 var elems
= getElementsByTagAndClassName("A", "view-source");
78 var page
= "key_events/";
79 for (var i
= 0; i
< elems
.length
; i
++) {
81 var href
= elem
.href
.split(/\//).pop();
82 elem
.target
= "_blank";
83 elem
.href
= "../view-source/view-source.html#" + page
+ href
;