diff options
| author | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2008-06-12 06:47:20 +0000 |
|---|---|---|
| committer | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2008-06-12 06:47:20 +0000 |
| commit | de0d60983a3a09d81192b29d51baa7f9c4a093b5 (patch) | |
| tree | d7d7b0c250f2a64e97d6831e41e615c7f1ce2b62 /roundcubemail/program | |
| parent | 761487901fadc8f37e2e94a17ac0ef701cc17123 (diff) | |
- #1484816: keypress (not keydown) for repeat
git-svn-id: https://svn.roundcube.net/trunk@1510 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program')
| -rw-r--r-- | roundcubemail/program/js/list.js | 10 |
1 files 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) |
