summaryrefslogtreecommitdiff
path: root/lib/scripts
diff options
context:
space:
mode:
authorAdrian Lang <lang@cosmocode.de>2010-07-30 12:58:07 +0200
committerAdrian Lang <lang@cosmocode.de>2010-08-02 12:33:46 +0200
commitca0095d06dade6118afd8205b99001892b7f1296 (patch)
tree21e2434627cbca6b9ce48b2fba0779c48f8749b1 /lib/scripts
parent16c2466cff13dc43e2f66c5cb1071a2457d4dee3 (diff)
downloadrpg-ca0095d06dade6118afd8205b99001892b7f1296.tar.gz
rpg-ca0095d06dade6118afd8205b99001892b7f1296.tar.bz2
Fix currentTarget in fixevent
Diffstat (limited to 'lib/scripts')
-rw-r--r--lib/scripts/events.js8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/scripts/events.js b/lib/scripts/events.js
index 498ec21ff..a1fcac718 100644
--- a/lib/scripts/events.js
+++ b/lib/scripts/events.js
@@ -35,26 +35,26 @@ function removeEvent(element, type, handler) {
function handleEvent(event) {
var returnValue = true;
// grab the event object (IE uses a global event object)
- event = event || fixEvent(window.event);
+ event = event || fixEvent(window.event, this);
// get a reference to the hash table of event handlers
var handlers = this.events[event.type];
// execute each event handler
for (var i in handlers) {
if (!handlers.hasOwnProperty(i)) continue;
- this.$$handleEvent = handlers[i];
- if (this.$$handleEvent(event) === false) {
+ if (handlers[i].call(this, event) === false) {
returnValue = false;
}
}
return returnValue;
};
-function fixEvent(event) {
+function fixEvent(event, _this) {
// add W3C standard event methods
event.preventDefault = fixEvent.preventDefault;
event.stopPropagation = fixEvent.stopPropagation;
// fix target
event.target = event.srcElement;
+ event.currentTarget = _this;
// fix coords
var base = (document.documentElement.scrollTop?document.documentElement:document.body);
event.pageX = (typeof event.pageX !== 'undefined') ? event.pageX : event.clientX + base.scrollLeft;