summaryrefslogtreecommitdiff
path: root/roundcubemail/program
diff options
context:
space:
mode:
authorthomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c>2007-03-28 10:39:38 +0000
committerthomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c>2007-03-28 10:39:38 +0000
commita23c0e42afdedf5bbaad9cdd789f18d8fd2af431 (patch)
treed7e25752ecc96b82c0e64de45daee8f8a804528e /roundcubemail/program
parentf84e3b4bda2d903fe1f4269753f3584c919ad31d (diff)
Abstract event keycode detection
git-svn-id: https://svn.roundcube.net/trunk@527 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program')
-rw-r--r--roundcubemail/program/js/app.js19
-rw-r--r--roundcubemail/program/js/common.js9
2 files changed, 17 insertions, 11 deletions
diff --git a/roundcubemail/program/js/app.js b/roundcubemail/program/js/app.js
index e166d07da..7406df2ff 100644
--- a/roundcubemail/program/js/app.js
+++ b/roundcubemail/program/js/app.js
@@ -1638,14 +1638,13 @@ function rcube_webmail()
// handler for keyboard events on the _user field
this.login_user_keypress = function(e)
{
- if (!e)
- e = window.event;
- var key = e.keyCode ? e.keyCode : e.which;
+ var key = rcube_event.get_keycode(e);
+ var elm;
// enter
- if ((key==13) && (document.form._pass))
+ if ((key==13) && (elm = rcube_find_object('_pass')))
{
- rcube_find_object('_pass').focus();
+ elm.focus();
return false;
}
};
@@ -1986,11 +1985,9 @@ function rcube_webmail()
if (this.ksearch_timer)
clearTimeout(this.ksearch_timer);
- if (!e)
- e = window.event;
-
var highlight;
- var key = e.keyCode ? e.keyCode : e.which;
+ var key = rcube_event.get_keycode(e);
+ var mod = rcube_event.get_modifier(e);
switch (key)
{
@@ -2022,7 +2019,7 @@ function rcube_webmail()
return rcube_event.cancel(e);
case 9: // tab
- if(e.shiftKey)
+ if(mod == SHIFT_KEY)
break;
case 13: // enter
@@ -2531,7 +2528,7 @@ function rcube_webmail()
// handler for keyboard events on the input field
this.name_input_keypress = function(e)
{
- var key = document.all ? event.keyCode : document.getElementById ? e.keyCode : 0;
+ var key = rcube_event.get_keycode(e);
// enter
if (key==13)
diff --git a/roundcubemail/program/js/common.js b/roundcubemail/program/js/common.js
index 82d7ed17c..be9a131c2 100644
--- a/roundcubemail/program/js/common.js
+++ b/roundcubemail/program/js/common.js
@@ -103,6 +103,15 @@ function roundcube_browser()
// static functions for event handling
var rcube_event = {
+ /**
+ * returns the event key code
+ */
+ get_keycode: function(e)
+ {
+ e = e || window.event;
+ return e && e.keyCode ? e.keyCode : (e && e.which ? e.which : 0);
+ },
+
/**
* returns modifier key (constants defined at top of file)
*/