diff options
| author | Vojta Jina | 2011-07-08 13:16:51 +0200 |
|---|---|---|
| committer | Igor Minar | 2011-07-12 23:04:46 -0700 |
| commit | ce80576e0b8ac9ed5a5b1f1a4dbc2446434a0002 (patch) | |
| tree | 0ffa65d9f7bdbf6d04c93c1509c25e3465613a78 | |
| parent | 10da625ed93511dbf5d4e61ca4e42f6f2d478959 (diff) | |
| download | angular.js-ce80576e0b8ac9ed5a5b1f1a4dbc2446434a0002.tar.bz2 | |
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.
| -rw-r--r-- | src/jqLite.js | 3 | ||||
| -rw-r--r-- | test/jqLiteSpec.js | 9 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/jqLite.js b/src/jqLite.js index a2dc02cd..d4948f22 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 2c05a7e5..c920a250 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'); + }); }); |
