diff options
| author | thomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2008-08-22 10:54:45 +0000 |
|---|---|---|
| committer | thomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2008-08-22 10:54:45 +0000 |
| commit | fecbe1e23d2cb522ace3e1ad3880812c27ed79b8 (patch) | |
| tree | fce64fb734a7c21c4185bed6f5f2c13ae811e289 /roundcubemail/program/js | |
| parent | 6b4c5ba57ce73a397d71e8e532dd24fba93e45e0 (diff) | |
Better fix for keyboard controls; does not disable all kind of keyboard events
git-svn-id: https://svn.roundcube.net/trunk@1675 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program/js')
| -rw-r--r-- | roundcubemail/program/js/list.js | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/roundcubemail/program/js/list.js b/roundcubemail/program/js/list.js index a83a8af6f..1986e8b25 100644 --- a/roundcubemail/program/js/list.js +++ b/roundcubemail/program/js/list.js @@ -88,7 +88,7 @@ init: function() // set body events if (this.keyboard) { rcube_event.add_listener({element:document, event:'keyup', object:this, method:'key_press'}); - rcube_event.add_listener({element:document, event:'keydown', object:rcube_event, method:'cancel'}); + rcube_event.add_listener({element:document, event:'keydown', object:this, method:'key_down'}); } } }, @@ -573,6 +573,26 @@ key_press: function(e) return true; }, +/** + * Handler for keydown events + */ +key_down: function(e) +{ + switch (rcube_event.get_keycode(e)) + { + case 40: + case 38: + case 63233: + case 63232: + if (!rcube_event.get_modifier(e) && this.focused) + return rcube_event.cancel(e); + + default: + } + + return true; +}, + /** * Special handling method for arrow keys |
