live event handlers now receive data from trigger, fixes #4532, thanks nbubna
This commit is contained in:
parent
71efbdd3b2
commit
aef1989ba7
|
@ -601,7 +601,7 @@ jQuery.fn.extend({
|
||||||
});
|
});
|
||||||
|
|
||||||
function liveHandler( event ) {
|
function liveHandler( event ) {
|
||||||
var stop = true, elems = [];
|
var stop = true, elems = [], args = arguments;
|
||||||
|
|
||||||
jQuery.each( jQuery.data( this, "events" ).live || [], function( i, fn ) {
|
jQuery.each( jQuery.data( this, "events" ).live || [], function( i, fn ) {
|
||||||
if ( fn.live === event.type ) {
|
if ( fn.live === event.type ) {
|
||||||
|
@ -619,7 +619,7 @@ function liveHandler( event ) {
|
||||||
jQuery.each(elems, function() {
|
jQuery.each(elems, function() {
|
||||||
event.currentTarget = this.elem;
|
event.currentTarget = this.elem;
|
||||||
event.data = this.fn.data
|
event.data = this.fn.data
|
||||||
if ( this.fn.call( this.elem, event, this.fn.selector ) === false ) {
|
if ( this.fn.apply( this.elem, args ) === false ) {
|
||||||
return (stop = false);
|
return (stop = false);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -490,7 +490,7 @@ test("toggle(Function, Function, ...)", function() {
|
||||||
});
|
});
|
||||||
|
|
||||||
test(".live()/.die()", function() {
|
test(".live()/.die()", function() {
|
||||||
expect(53);
|
expect(54);
|
||||||
|
|
||||||
var submit = 0, div = 0, livea = 0, liveb = 0;
|
var submit = 0, div = 0, livea = 0, liveb = 0;
|
||||||
|
|
||||||
|
@ -583,6 +583,10 @@ test(".live()/.die()", function() {
|
||||||
jQuery("#foo").live("click", true, function(e){ equals( e.data, true, "live with event data" ); });
|
jQuery("#foo").live("click", true, function(e){ equals( e.data, true, "live with event data" ); });
|
||||||
jQuery("#foo").trigger("click").die("click");
|
jQuery("#foo").trigger("click").die("click");
|
||||||
|
|
||||||
|
// Test binding with trigger data
|
||||||
|
jQuery("#foo").live("click", function(e, data){ equals( data, true, "live with trigger data" ); });
|
||||||
|
jQuery("#foo").trigger("click", true).die("click");
|
||||||
|
|
||||||
// Verify that return false prevents default action
|
// Verify that return false prevents default action
|
||||||
jQuery("#anchor2").live("click", function(){ return false; });
|
jQuery("#anchor2").live("click", function(){ return false; });
|
||||||
var hash = window.location.hash;
|
var hash = window.location.hash;
|
||||||
|
|
Loading…
Reference in a new issue