});
function liveHandler( event ) {
- var stop = true, elems = [];
+ var stop = true, elems = [], args = arguments;
jQuery.each( jQuery.data( this, "events" ).live || [], function( i, fn ) {
if ( fn.live === event.type ) {
jQuery.each(elems, function() {
event.currentTarget = this.elem;
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);
}
});
});
test(".live()/.die()", function() {
- expect(53);
+ expect(54);
var submit = 0, div = 0, livea = 0, liveb = 0;
jQuery("#foo").live("click", true, function(e){ equals( e.data, true, "live with event data" ); });
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
jQuery("#anchor2").live("click", function(){ return false; });
var hash = window.location.hash;