From 0a1b0db347119a2e45d3d31285223ead27b64506 Mon Sep 17 00:00:00 2001 From: Ariel Flesler Date: Tue, 17 Feb 2009 12:38:16 +0000 Subject: [PATCH] jquery event: closes #4033. e.currentTarget wasn't being enforced for native events (IE doesn't have it) --- src/event.js | 3 ++- test/unit/event.js | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/event.js b/src/event.js index e707015..a50fe89 100644 --- a/src/event.js +++ b/src/event.js @@ -240,7 +240,8 @@ jQuery.event = { var all, handlers; event = arguments[0] = jQuery.event.fix( event || window.event ); - + event.currentTarget = this; + // Namespaced event handlers var namespaces = event.type.split("."); event.type = namespaces.shift(); diff --git a/test/unit/event.js b/test/unit/event.js index 1da9b59..840c98a 100644 --- a/test/unit/event.js +++ b/test/unit/event.js @@ -417,6 +417,20 @@ test("trigger(eventObject, [data], [fn])", function() { $parent.unbind().remove(); }); +test("jQuery.Event.currentTarget", function(){ + expect(2); + + var counter = 0, + $elem = jQuery('').click(function(e){ + equals( e.currentTarget, this, "Check currentTarget on "+(counter++?"native":"fake") +" event" ); + }); + + // Fake event + $elem.trigger('click'); + // Native event (#4033) + triggerEvent( $elem[0], 'click' ); +}); + test("toggle(Function, Function, ...)", function() { expect(11); -- 1.7.10.4