Skip to content

Commit 0a1b0db

Browse files
committed
jquery event: closes jquery#4033. e.currentTarget wasn't being enforced for native events (IE doesn't have it)
1 parent 72cf42b commit 0a1b0db

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

src/event.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,8 @@ jQuery.event = {
240240
var all, handlers;
241241

242242
event = arguments[0] = jQuery.event.fix( event || window.event );
243-
243+
event.currentTarget = this;
244+
244245
// Namespaced event handlers
245246
var namespaces = event.type.split(".");
246247
event.type = namespaces.shift();

test/unit/event.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -417,6 +417,20 @@ test("trigger(eventObject, [data], [fn])", function() {
417417
$parent.unbind().remove();
418418
});
419419

420+
test("jQuery.Event.currentTarget", function(){
421+
expect(2);
422+
423+
var counter = 0,
424+
$elem = jQuery('<button>a</button>').click(function(e){
425+
equals( e.currentTarget, this, "Check currentTarget on "+(counter++?"native":"fake") +" event" );
426+
});
427+
428+
// Fake event
429+
$elem.trigger('click');
430+
// Native event (#4033)
431+
triggerEvent( $elem[0], 'click' );
432+
});
433+
420434
test("toggle(Function, Function, ...)", function() {
421435
expect(11);
422436

0 commit comments

Comments
 (0)