From de0d60983a3a09d81192b29d51baa7f9c4a093b5 Mon Sep 17 00:00:00 2001 From: alec Date: Thu, 12 Jun 2008 06:47:20 +0000 Subject: - #1484816: keypress (not keydown) for repeat git-svn-id: https://svn.roundcube.net/trunk@1510 208e9e7b-5314-0410-a742-e7e81cd9613c --- roundcubemail/program/js/list.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/roundcubemail/program/js/list.js b/roundcubemail/program/js/list.js index bdcf87932..a163f55ba 100644 --- a/roundcubemail/program/js/list.js +++ b/roundcubemail/program/js/list.js @@ -87,7 +87,7 @@ init: function() // set body events if (this.keyboard) - rcube_event.add_listener({element:document, event:'keydown', object:this, method:'key_press'}); + rcube_event.add_listener({element:document, event:'keypress', object:this, method:'key_press'}); } }, @@ -557,6 +557,8 @@ key_press: function(e) { case 40: case 38: + case 63233: // "down", in safari keypress + case 63232: // "up", in safari keypress return this.use_arrow_key(keyCode, mod_key); break; @@ -576,9 +578,11 @@ key_press: function(e) use_arrow_key: function(keyCode, mod_key) { var new_row; - if (keyCode == 40) // down arrow key pressed + // Safari uses the nonstandard keycodes 63232/63233 for up/down, if we're + // using the keypress event (but not the keydown or keyup event). + if (keyCode == 40 || keyCode == 63233) // down arrow key pressed new_row = this.get_next_row(); - else if (keyCode == 38) // up arrow key pressed + else if (keyCode == 38 || keyCode == 63232) // up arrow key pressed new_row = this.get_prev_row(); if (new_row) -- cgit v1.2.3