X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=test%2Funit%2Fevent.js;h=d2411528cd2bb5b30cc6a2653a79a85f4e5c9dda;hb=92a076cb2f7679043575977092be1233cb1c687f;hp=f111c07e3d081d5a6d88ec62f0a3da4f686f652b;hpb=63f8bb7027ea7bf4e5c111cb3e440f9bb3e87733;p=jquery.git diff --git a/test/unit/event.js b/test/unit/event.js index f111c07..d241152 100644 --- a/test/unit/event.js +++ b/test/unit/event.js @@ -418,7 +418,7 @@ test("trigger(eventObject, [data], [fn])", function() { }); test("jQuery.Event.currentTarget", function(){ - expect(2); + expect(1); var counter = 0, $elem = jQuery('').click(function(e){ @@ -427,8 +427,6 @@ test("jQuery.Event.currentTarget", function(){ // Fake event $elem.trigger('click'); - // Native event (#4033) - triggerEvent( $elem[0], 'click' ); // Cleanup $elem.unbind(); @@ -491,7 +489,7 @@ test("toggle(Function, Function, ...)", function() { }); test(".live()/.die()", function() { - expect(46); + expect(52); var submit = 0, div = 0, livea = 0, liveb = 0; @@ -563,6 +561,24 @@ test(".live()/.die()", function() { jQuery("div").die("click"); jQuery("div").die("submit"); + // Test binding with a different context + var clicked = 0, container = jQuery('#main')[0]; + jQuery("#foo", container).live("click", function(e){ clicked++; }); + jQuery("div").trigger('click'); + jQuery("#foo").trigger('click'); + jQuery("#main").trigger('click'); + jQuery("body").trigger('click'); + equals( clicked, 2, "live with a context" ); + + // Make sure the event is actually stored on the context + ok( jQuery.data(container, "events").live, "live with a context" ); + + // Test unbinding with a different context + jQuery("#foo", container).die("click"); + jQuery("#foo").trigger('click'); + equals( clicked, 2, "die with a context"); + + // Verify that return false prevents default action jQuery("#anchor2").live("click", function(){ return false; }); var hash = window.location.hash; @@ -651,6 +667,17 @@ test(".live()/.die()", function() { // Cleanup jQuery("span#liveSpan1 a, span#liveSpan1, span#liveSpan2 a, span#liveSpan2").die("click"); + + // Test this, target and currentTarget are correct + jQuery('span#liveSpan1').live('click', function(e){ + equals( this.id, 'liveSpan1', 'Check the this within a live handler' ); + equals( e.currentTarget.id, 'liveSpan1', 'Check the event.currentTarget within a live handler' ); + equals( e.target.nodeName.toUpperCase(), 'A', 'Check the event.target within a live handler' ); + }); + + jQuery('span#liveSpan1 a').click(); + + jQuery('span#liveSpan1').die('click'); }); /*