From df7e32fe3798562ffb86d064444f1e0cc8ac59a8 Mon Sep 17 00:00:00 2001 From: Mike Sherov Date: Sat, 23 Aug 2014 15:34:04 -0400 Subject: Draggable: Check all parents for fixed positioning when scrolling Fixes #9612 --- ui/draggable.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'ui') diff --git a/ui/draggable.js b/ui/draggable.js index 8cbcfe1ab..ebafaeb83 100644 --- a/ui/draggable.js +++ b/ui/draggable.js @@ -174,7 +174,9 @@ $.widget("ui.draggable", $.ui.mouse, { this.cssPosition = this.helper.css( "position" ); this.scrollParent = this.helper.scrollParent( true ); this.offsetParent = this.helper.offsetParent(); - this.offsetParentCssPosition = this.offsetParent.css( "position" ); + this.hasFixedAncestor = this.helper.parents().filter(function() { + return $( this ).css( "position" ) === "fixed"; + }).length > 0; //The element's absolute position on the page minus margins this.positionAbs = this.element.offset(); @@ -236,7 +238,7 @@ $.widget("ui.draggable", $.ui.mouse, { _mouseDrag: function(event, noPropagation) { // reset any necessary cached properties (see #5009) - if ( this.offsetParentCssPosition === "fixed" ) { + if ( this.hasFixedAncestor ) { this.offset.parent = this._getParentOffset(); } -- cgit v1.2.3