diff --git a/src/components/select/select.js b/src/components/select/select.js index 9492b7bef62..f439c5aacdb 100755 --- a/src/components/select/select.js +++ b/src/components/select/select.js @@ -701,7 +701,11 @@ function SelectProvider($$interimElementProvider) { }); opts.resizeFn = function() { - animateSelect(scope, element, opts); + $$rAF(function() { + $$rAF(function() { + animateSelect(scope, element, opts); + }); + }); }; angular.element($window).on('resize', opts.resizeFn); diff --git a/src/core/util/util.js b/src/core/util/util.js index 116c6de8fc5..96d7816252b 100644 --- a/src/core/util/util.js +++ b/src/core/util/util.js @@ -82,14 +82,26 @@ angular.module('material.core') wrapperEl.css({ overflow: 'hidden', position: 'fixed', - width: '100%', + display: computedStyle.display, 'padding-top': computedStyle.paddingTop, top: (-1 * heightOffset) + 'px' }); + + computeSize(); + + angular.element($window).on('resize', computeSize); + + function computeSize() { + wrapperEl.css({ + 'max-width': disableTarget[0].offsetWidth + }); + } + return function restoreScroll() { disableTarget.append(wrapperEl.children()); wrapperEl.remove(); + angular.element($window).off('resize', computeSize); if (scrollBarsShowing) { disableTarget.css('overflow-y', restoreOverflowY || false); }