]> source.dussan.org Git - jquery-ui.git/commitdiff
Position: Mini refactoring, avoids proxying using callback multiple times if more...
authorJörn Zaefferer <joern.zaefferer@gmail.com>
Tue, 10 Apr 2012 22:19:26 +0000 (00:19 +0200)
committerJörn Zaefferer <joern.zaefferer@gmail.com>
Tue, 10 Apr 2012 22:19:26 +0000 (00:19 +0200)
ui/jquery.ui.position.js

index cde99cdca81698df797d066414d066d470021385..025d2c81522e1226b2d1a2aa7ba0ea9842c85fd3 100644 (file)
@@ -170,7 +170,7 @@ $.fn.position = function( options ) {
                                        ( rpercent.test( offsets.my[ 1 ] ) ? elem.outerHeight() / 100 : 1 )
                        ],
                        collisionPosition,
-                       using = options.using;
+                       using;
 
                if ( options.my[ 0 ] === "right" ) {
                        position.left -= elemWidth;
@@ -221,9 +221,9 @@ $.fn.position = function( options ) {
                        elem.bgiframe();
                }
 
-               if ( using ) {
-                       // we have to proxy, as jQuery.offset.setOffset throws away props other than left/top
-                       options.using = function( props ) {
+               if ( options.using ) {
+                       // adds feedback as second argument to using callback, if present
+                       using = function( props ) {
                                var left = targetOffset.left - props.left,
                                        right = (targetOffset.left + targetWidth) - (props.left + elemWidth),
                                        top = targetOffset.top - props.top,
@@ -237,11 +237,11 @@ $.fn.position = function( options ) {
                                } else {
                                        feedback.important = "vertical";
                                }
-                               using.call( this, props, feedback );
+                               options.using.call( this, props, feedback );
                        };
                }
 
-               elem.offset( $.extend( position, { using: options.using } ) );
+               elem.offset( $.extend( position, { using: using } ) );
        });
 };