From a0ce2f0fa1873e45359d58e8c64e49fd80d9a692 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Tue, 12 Feb 2008 14:54:16 -0500
Subject: [PATCH] Make script cross browser compatible
---
program/js/list.js | 6 ++++--
program/js/common.js | 25 +++++++++++++++++--------
2 files changed, 21 insertions(+), 10 deletions(-)
diff --git a/program/js/common.js b/program/js/common.js
index 6435f3b..860ca3e 100644
--- a/program/js/common.js
+++ b/program/js/common.js
@@ -95,14 +95,23 @@
// 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 the event target element
+ */
+get_target: function(e)
+{
+ e = e || window.event;
+ return e && e.target ? e.target : e.srcElement;
+},
+
+/**
+ * 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)
diff --git a/program/js/list.js b/program/js/list.js
index ad57633..3255c1a 100644
--- a/program/js/list.js
+++ b/program/js/list.js
@@ -210,7 +210,8 @@
this.in_selection_before = this.in_selection(id) ? id : false;
// don't do anything (another action processed before)
- if (this.dont_select || (e.target && (e.target.tagName == 'INPUT' || e.target.tagName == 'IMG')))
+ var evtarget = rcube_event.get_target(e);
+ if (this.dont_select || (evtarget && (evtarget.tagName == 'INPUT' || evtarget.tagName == 'IMG')))
return false;
// selects currently unselected row
@@ -239,8 +240,9 @@
{
var now = new Date().getTime();
var mod_key = rcube_event.get_modifier(e);
+ var evtarget = rcube_event.get_target(e);
- if ((e.target && (e.target.tagName == 'INPUT' || e.target.tagName == 'IMG')))
+ if ((evtarget && (evtarget.tagName == 'INPUT' || evtarget.tagName == 'IMG')))
return false;
// don't do anything (another action processed before)
--
Gitblit v1.9.1