jquery event: closes #4033. e.currentTarget wasn't being enforced for native events (IE doesn't have it)

This commit is contained in:
Ariel Flesler 2009-02-17 12:38:16 +00:00
parent 72cf42bcbd
commit 0a1b0db347
2 changed files with 16 additions and 1 deletions

View File

@ -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();

View File

@ -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('<button>a</button>').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);