From 0a846e5be6e74d97c191379b3bc69c93125144ee Mon Sep 17 00:00:00 2001 From: Ariel Flesler Date: Tue, 30 Dec 2008 23:29:14 +0000 Subject: [PATCH] jquery event: removed the argument dohandlers from $.trigger. Uses another approach. --- src/event.js | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/src/event.js b/src/event.js index 0710b7b..f2b01fe 100644 --- a/src/event.js +++ b/src/event.js @@ -163,7 +163,7 @@ jQuery.event = { } }, - trigger: function( e, data, elem, donative, extra, dohandlers) { + trigger: function( e, data, elem, donative, extra) { // Event object or event type var type = e.type || e; @@ -207,16 +207,14 @@ jQuery.event = { var val, ret, fn = jQuery.isFunction( elem[ type ] ); - if ( dohandlers !== false ) { - // Trigger the event, it is assumed that "handle" is a function - var handle = jQuery.data(elem, "handle"); - if ( handle ) - val = handle.apply( elem, data ); + // Trigger the event, it is assumed that "handle" is a function + var handle = jQuery.data(elem, "handle"); + if ( handle ) + val = handle.apply( elem, data ); - // Handle triggering native .onfoo handlers (and on links since we don't call .click() for links) - if ( (!fn || (jQuery.nodeName(elem, 'a') && type == "click")) && elem["on"+type] && elem["on"+type].apply( elem, data ) === false ) - val = false; - } + // Handle triggering native .onfoo handlers (and on links since we don't call .click() for links) + if ( (!fn || (jQuery.nodeName(elem, 'a') && type == "click")) && elem["on"+type] && elem["on"+type].apply( elem, data ) === false ) + val = false; if ( donative !== false && val !== false ) { var parent = elem.parentNode || elem.ownerDocument; @@ -551,15 +549,14 @@ jQuery.fn.extend({ }); function liveHandler( event ){ - var check = RegExp("(^|\\.)" + event.type + "(\\.|$)"), stop = true; + 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 ) { - var ret = jQuery.event.trigger( event.type, [event, fn.data], elem, false, fn, false ); - if ( ret === false ) - stop = false; - } + if ( elem && fn.call(elem, event, fn.data) === false ) + stop = false; } }); return stop; -- 1.7.10.4