Permalink
Browse files

Core: provide "includeHidden" parameter in $.ui.scrollParent

Even though the user is unable to scroll via the UI, authors
may have custom scrollbars that programmatically set scrollTop.
Therefore, overflow:hidden can be considered a scrollParent.
  • Loading branch information...
mikesherov committed Aug 7, 2014
1 parent 2ac0769 commit 67e4b44b295517cb81ced7b6c41fd9898a45d0d9
Showing with 3 additions and 2 deletions.
  1. +3 −2 ui/core.js
View
@@ -48,15 +48,16 @@ $.extend( $.ui, {
// plugins
$.fn.extend({
- scrollParent: function() {
+ scrollParent: function( includeHidden ) {
var position = this.css( "position" ),
excludeStaticParent = position === "absolute",
+ overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/,
scrollParent = this.parents().filter( function() {
var parent = $( this );
if ( excludeStaticParent && parent.css( "position" ) === "static" ) {
return false;
}
- return (/(auto|scroll)/).test( parent.css( "overflow" ) + parent.css( "overflow-y" ) + parent.css( "overflow-x" ) );
+ return overflowRegex.test( parent.css( "overflow" ) + parent.css( "overflow-y" ) + parent.css( "overflow-x" ) );
}).eq( 0 );
return position === "fixed" || !scrollParent.length ? $( this[ 0 ].ownerDocument || document ) : scrollParent;

0 comments on commit 67e4b44

Please sign in to comment.