diff options
author | Adrian Lang <lang@cosmocode.de> | 2010-07-30 12:58:07 +0200 |
---|---|---|
committer | Adrian Lang <lang@cosmocode.de> | 2010-08-02 12:33:46 +0200 |
commit | ca0095d06dade6118afd8205b99001892b7f1296 (patch) | |
tree | 21e2434627cbca6b9ce48b2fba0779c48f8749b1 /lib/scripts | |
parent | 16c2466cff13dc43e2f66c5cb1071a2457d4dee3 (diff) | |
download | rpg-ca0095d06dade6118afd8205b99001892b7f1296.tar.gz rpg-ca0095d06dade6118afd8205b99001892b7f1296.tar.bz2 |
Fix currentTarget in fixevent
Diffstat (limited to 'lib/scripts')
-rw-r--r-- | lib/scripts/events.js | 8 |
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; |