Skip to content

Commit

Permalink
Fix currentTarget in fixevent
Browse files Browse the repository at this point in the history
  • Loading branch information
adrianheine committed Aug 2, 2010
1 parent 16c2466 commit ca0095d
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions lib/scripts/events.js
Expand Up @@ -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;
Expand Down

0 comments on commit ca0095d

Please sign in to comment.