Skip to content
Permalink
Browse files

Made sure that return false works in .live() along with the event obj…

…ect being passed in as the first argument.
  • Loading branch information
jeresig committed Dec 30, 2008
1 parent a1ca942 commit 4f7441910f664800cca8d252f04ec479518edfe0
Showing with 22 additions and 4 deletions.
  1. +7 −3 src/event.js
  2. +15 −1 test/unit/event.js
@@ -551,14 +551,18 @@ jQuery.fn.extend({
});

function liveHandler( event ){
var check = RegExp("(^|\\.)" + event.type + "(\\.|$)");
var check = RegExp("(^|\\.)" + event.type + "(\\.|$)"), stop = true;
jQuery.each(jQuery.data(this, "events").live || [], function(i, fn){
if ( check.test(fn.type) ) {
var elem = jQuery(event.target).closest(fn.data)[0];
if ( elem )
jQuery.event.trigger( event.type, fn.data, elem, false, fn, false );
if ( elem ) {
var ret = jQuery.event.trigger( event.type, [event, fn.data], elem, false, fn, false );
if ( ret === false )
stop = false;
}
}
});
return stop;
}

function liveConvert(type, selector){
@@ -439,7 +439,7 @@ test("toggle(Function, Function, ...)", function() {
});

test(".live()/.die()", function() {
expect(28);
expect(30);

var submit = 0, div = 0, livea = 0, liveb = 0;

@@ -501,6 +501,20 @@ test(".live()/.die()", function() {
jQuery("div#nothiddendiv").die("click");
jQuery("div").die("click");
jQuery("div").die("submit");

// Verify that return false prevents default action
jQuery("#anchor2").live("click", function(){ return false; });
var hash = window.location.hash;
jQuery("#anchor2").trigger("click");
equals( window.location.hash, hash, "return false worked" );
jQuery("#anchor2").die("click");

// Verify that .preventDefault() prevents default action
jQuery("#anchor2").live("click", function(e){ e.preventDefault(); });
var hash = window.location.hash;
jQuery("#anchor2").trigger("click");
equals( window.location.hash, hash, "e.preventDefault() worked" );
jQuery("#anchor2").die("click");
});

/*

0 comments on commit 4f74419

Please sign in to comment.
You can’t perform that action at this time.