Made sure that return false works in .live() along with the event object being passed in as the first argument.
This commit is contained in:
parent
a1ca9427ec
commit
4f7441910f
10
src/event.js
10
src/event.js
|
@ -551,14 +551,18 @@ jQuery.fn.extend({
|
||||||
});
|
});
|
||||||
|
|
||||||
function liveHandler( event ){
|
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){
|
jQuery.each(jQuery.data(this, "events").live || [], function(i, fn){
|
||||||
if ( check.test(fn.type) ) {
|
if ( check.test(fn.type) ) {
|
||||||
var elem = jQuery(event.target).closest(fn.data)[0];
|
var elem = jQuery(event.target).closest(fn.data)[0];
|
||||||
if ( elem )
|
if ( elem ) {
|
||||||
jQuery.event.trigger( event.type, fn.data, elem, false, fn, false );
|
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){
|
function liveConvert(type, selector){
|
||||||
|
|
|
@ -439,7 +439,7 @@ test("toggle(Function, Function, ...)", function() {
|
||||||
});
|
});
|
||||||
|
|
||||||
test(".live()/.die()", function() {
|
test(".live()/.die()", function() {
|
||||||
expect(28);
|
expect(30);
|
||||||
|
|
||||||
var submit = 0, div = 0, livea = 0, liveb = 0;
|
var submit = 0, div = 0, livea = 0, liveb = 0;
|
||||||
|
|
||||||
|
@ -501,6 +501,20 @@ test(".live()/.die()", function() {
|
||||||
jQuery("div#nothiddendiv").die("click");
|
jQuery("div#nothiddendiv").die("click");
|
||||||
jQuery("div").die("click");
|
jQuery("div").die("click");
|
||||||
jQuery("div").die("submit");
|
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");
|
||||||
});
|
});
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in a new issue