Changeset 691
- Timestamp:
- 04/22/06 21:09:43 (2 years ago)
- Files:
-
- mochikit/trunk/MochiKit/Signal.js (modified) (5 diffs)
- mochikit/trunk/examples/draggable/draggable.js (modified) (1 diff)
- mochikit/trunk/examples/key_events (added)
- mochikit/trunk/examples/key_events/index.html (added)
- mochikit/trunk/examples/key_events/key_events.css (added)
- mochikit/trunk/examples/key_events/key_events.js (added)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
mochikit/trunk/MochiKit/Signal.js
r676 r691 154 154 // look for unicode characters here 155 155 } else if (this.type() == 'keypress') { 156 k.code = (this._event.charCode || this._event.keyCode); 157 k.string = String.fromCharCode(k.code); 156 157 // IE does not fire keypress events for special keys 158 // FF fires, but sets charCode to 0, and sets the correct keyCode 159 // Safari fires, and sets keyCode and charCode to something stupid 160 161 k.code = 0; 162 k.string = ''; 163 164 if (typeof(this._event.charCode) != 'undefined' && 165 this._event.charCode !== 0 && 166 !MochiKit.Signal._specialMacKeys[this._event.charCode]) { 167 k.code = this._event.charCode; 168 k.string = String.fromCharCode(k.code); 169 } else if (this._event.keyCode && typeof(this._event.charCode) == 'undefined') { // IE 170 k.code = this._event.keyCode; 171 k.string = String.fromCharCode(k.code); 172 } 173 158 174 return k; 159 175 } … … 196 212 document.documentElement.clientTop || 197 213 document.body.clientTop 214 215 and 216 217 document.documentElement.clientLeft || 218 document.body.clientLeft 198 219 199 220 http://msdn.microsoft.com/workshop/author/dhtml/reference/ 200 221 methods/getboundingclientrect.asp 201 222 202 the offset is (2,2) in standards mode and (0,0) in quirks mode223 The offset is (2,2) in standards mode and (0,0) in quirks mode. 203 224 204 225 */ … … 322 343 } 323 344 345 MochiKit.Signal._specialMacKeys = { 346 63289: 'KEY_NUM_PAD_CLEAR', 347 63276: 'KEY_PAGE_UP', 348 63277: 'KEY_PAGE_DOWN', 349 63275: 'KEY_END', 350 63273: 'KEY_HOME', 351 63234: 'KEY_ARROW_LEFT', 352 63232: 'KEY_ARROW_UP', 353 63235: 'KEY_ARROW_RIGHT', 354 63233: 'KEY_ARROW_DOWN', 355 63302: 'KEY_INSERT', 356 63272: 'KEY_DELETE' 357 } 358 359 /* for KEY_F1 - KEY_F12 */ 360 for (i = 63236; i <= 63242; i++) { 361 MochiKit.Signal._specialMacKeys[i] = 'KEY_F' + (i - 63236 + 1); // no F0 362 } 363 324 364 MochiKit.Signal._specialKeys = { 325 365 8: 'KEY_BACKSPACE', 326 366 9: 'KEY_TAB', 327 12: 'KEY_NUM_PAD_CLEAR', // for WebKit and Mac FF anyway 367 12: 'KEY_NUM_PAD_CLEAR', // for WebKit and Mac FF anyway -- Safari charCode: 63289 328 368 13: 'KEY_ENTER', 329 369 16: 'KEY_SHIFT', … … 334 374 27: 'KEY_ESCAPE', 335 375 32: 'KEY_SPACEBAR', 336 33: 'KEY_PAGE_UP', 337 34: 'KEY_PAGE_DOWN', 338 35: 'KEY_END', 339 36: 'KEY_HOME', 340 37: 'KEY_ARROW_LEFT', 341 38: 'KEY_ARROW_UP', 342 39: 'KEY_ARROW_RIGHT', 343 40: 'KEY_ARROW_DOWN', 344 44: 'KEY_PRINT_SCREEN', 345 45: 'KEY_INSERT', 346 46: 'KEY_DELETE', 376 33: 'KEY_PAGE_UP', // Safari charCode: 63276 377 34: 'KEY_PAGE_DOWN', // Safari charCode: 63277 378 35: 'KEY_END', // Safari charCode: 63275 379 36: 'KEY_HOME', // Safari charCode: 63273 380 37: 'KEY_ARROW_LEFT', // Safari charCode: 63234 381 38: 'KEY_ARROW_UP', // Safari charCode: 63232 382 39: 'KEY_ARROW_RIGHT', // Safari charCode: 63235 383 40: 'KEY_ARROW_DOWN', // Safari charCode: 63233 384 44: 'KEY_PRINT_SCREEN', 385 45: 'KEY_INSERT', // Safari charCode: 63302 386 46: 'KEY_DELETE', // Safari charCode: 63272 347 387 59: 'KEY_SEMICOLON', // weird, for WebKit and IE 348 91: 'KEY_WINDOWS_LEFT', 349 92: 'KEY_WINDOWS_RIGHT', 350 93: 'KEY_SELECT', 388 91: 'KEY_WINDOWS_LEFT', 389 92: 'KEY_WINDOWS_RIGHT', 390 93: 'KEY_SELECT', 351 391 106: 'KEY_NUM_PAD_ASTERISK', 352 392 107: 'KEY_NUM_PAD_PLUS_SIGN', … … 387 427 /* for KEY_F1 - KEY_F12 */ 388 428 for (i = 112; i <= 123; i++) { 389 MochiKit.Signal._specialKeys[i] = 'KEY_F' + (i - 11 1); // no F0429 MochiKit.Signal._specialKeys[i] = 'KEY_F' + (i - 112 + 1); // no F0 390 430 } 391 431 mochikit/trunk/examples/draggable/draggable.js
r646 r691 55 55 connect(elem, 'onmousedown', Drag.start); 56 56 }); 57 57 58 }); 58 59 59 // rewrite the view-source links 60 addLoadEvent(function() {61 var elems = getElementsByTagAndClassName("A", "view-source");62 var page = "draggable/";63 for (var i = 0; i < elems.length; i++) {64 var elem = elems[i];65 var href = elem.href.split(/\//).pop();66 elem.target = "_blank";67 elem.href = "../view-source/view-source.html#" + page + href;68 }69 });60 connect(window, 'onload', 61 function() { 62 var elems = getElementsByTagAndClassName("A", "view-source"); 63 var page = "draggable/"; 64 for (var i = 0; i < elems.length; i++) { 65 var elem = elems[i]; 66 var href = elem.href.split(/\//).pop(); 67 elem.target = "_blank"; 68 elem.href = "../view-source/view-source.html#" + page + href; 69 } 70 });
