From ce80576e0b8ac9ed5a5b1f1a4dbc2446434a0002 Mon Sep 17 00:00:00 2001 From: Vojta Jina Date: Fri, 8 Jul 2011 13:16:51 +0200 Subject: [PATCH] fix:jqLite: Set event.target on IE<8 IE<8's Event has not target property - it has srcElement property. Fix that to be consistent as jQuery. --- src/jqLite.js | 3 +++ test/jqLiteSpec.js | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/src/jqLite.js b/src/jqLite.js index a2dc02cd33ce..d4948f22cbda 100644 --- a/src/jqLite.js +++ b/src/jqLite.js @@ -369,6 +369,9 @@ forEach({ event.cancelBubble = true; //ie }; } + if (!event.target) { + event.target = event.srcElement || document; + } forEach(eventHandler.fns, function(fn){ fn.call(element, event); }); diff --git a/test/jqLiteSpec.js b/test/jqLiteSpec.js index 2c05a7e56ed7..c920a2505b68 100644 --- a/test/jqLiteSpec.js +++ b/test/jqLiteSpec.js @@ -352,6 +352,15 @@ describe('jqLite', function(){ expect(callback).toHaveBeenCalled(); expect(callback.callCount).toBe(1); }); + + it('should set event.target on IE', function() { + var elm = jqLite(a); + elm.bind('click', function(event) { + expect(event.target).toBe(a); + }); + + browserTrigger(a, 'click'); + }); });