diff --git a/src/dropdownToggle/dropdownToggle.js b/src/dropdownToggle/dropdownToggle.js index 48a4154..0cf2a89 100644 --- a/src/dropdownToggle/dropdownToggle.js +++ b/src/dropdownToggle/dropdownToggle.js @@ -62,7 +62,7 @@ angular.module('mm.foundation.dropdownToggle', [ 'mm.foundation.position', 'mm.f var left = Math.round(offset.left - parentOffset.left); var rightThreshold = $window.innerWidth - dropdownWidth - 8; if (left > rightThreshold) { - left = rightThreshold; + left = left - dropdownWidth + $position.position(element).width; dropdown.removeClass('left').addClass('right'); } css.left = left + 'px'; @@ -90,6 +90,17 @@ angular.module('mm.foundation.dropdownToggle', [ 'mm.foundation.position', 'mm.f } }; $document.on('click', closeMenu); + + repositionMenu = function() { + if (!!openElement) { + var left = $position.position(element).left; + if (dropdown.hasClass('right')) { + left = left - dropdownWidth + $position.position(element).width; + } + dropdown.css('left', left); + } + }; + angular.element($window).on('resize', repositionMenu); } }; @@ -102,6 +113,7 @@ angular.module('mm.foundation.dropdownToggle', [ 'mm.foundation.position', 'mm.f element.on('click', onClick); element.on('$destroy', function() { element.off('click', onClick); + angular.element($window).off('resize', onClick); }); } };