From e9b57bb8745118c2bc5302081aff8772cf6c8fee Mon Sep 17 00:00:00 2001 From: alecpl <alec@alec.pl> Date: Thu, 12 Jun 2008 02:47:20 -0400 Subject: [PATCH] - #1484816: keypress (not keydown) for repeat --- program/js/list.js | 10 +++++++--- 1 files changed, 7 insertions(+), 3 deletions(-) diff --git a/program/js/list.js b/program/js/list.js index bdcf879..a163f55 100644 --- a/program/js/list.js +++ b/program/js/list.js @@ -87,7 +87,7 @@ // 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 @@ { 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 @@ 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) -- Gitblit v1.9.1