jquery core: simplified the code using the new jQuery.makeArray from [5314] where...
[jquery.git] / src / event.js
index e08a085..5b77e8c 100644 (file)
@@ -160,7 +160,7 @@ jQuery.event = {
 
        trigger: function(type, data, elem, donative, extra) {
                // Clone the incoming data, if any
-               data = jQuery.makeArray(data || []);
+               data = jQuery.makeArray(data);
 
                if ( type.indexOf("!") >= 0 ) {
                        type = type.slice(0, -1);
@@ -231,7 +231,7 @@ jQuery.event = {
 
        handle: function(event) {
                // returned undefined or false
-               var val, namespace, all, handlers;
+               var val, ret, namespace, all, handlers;
 
                event = arguments[0] = jQuery.event.fix( event || window.event );
 
@@ -253,14 +253,17 @@ jQuery.event = {
                                event.handler = handler;
                                event.data = handler.data;
                                
-                               val = handler.apply( this, arguments );
+                               ret = handler.apply( this, arguments );
+
+                               if ( val !== false )
+                                       val = ret;
+
+                               if ( ret === false ) {
+                                       event.preventDefault();
+                                       event.stopPropagation();
+                               }
                        }
                }
-               
-               if ( val === false ) {
-                       event.preventDefault();
-                       event.stopPropagation();
-               }
 
                // Clean up added properties in IE to prevent memory leak
                if (jQuery.browser.msie)