summaryrefslogtreecommitdiff
path: root/roundcubemail/program/js
diff options
context:
space:
mode:
authorthomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c>2008-08-22 10:54:45 +0000
committerthomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c>2008-08-22 10:54:45 +0000
commitfecbe1e23d2cb522ace3e1ad3880812c27ed79b8 (patch)
treefce64fb734a7c21c4185bed6f5f2c13ae811e289 /roundcubemail/program/js
parent6b4c5ba57ce73a397d71e8e532dd24fba93e45e0 (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.js22
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