From: Felix Nagel Date: Sat, 16 Apr 2011 13:52:31 +0000 (+0200) Subject: fixed: problem with focus and positioning in IE on slow machines, thanks to greenish... X-Git-Tag: selectmenu_v1.1.0~20 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=351b73989861d6d8cd1ec750aebc900779d9ab6e;p=jquery-ui.git fixed: problem with focus and positioning in IE on slow machines, thanks to greenish, see https://github.com/fnagel/jquery-ui/pull/94 --- diff --git a/ui/jquery.ui.selectmenu.js b/ui/jquery.ui.selectmenu.js index fc476956d..7c0f61a7a 100644 --- a/ui/jquery.ui.selectmenu.js +++ b/ui/jquery.ui.selectmenu.js @@ -507,13 +507,14 @@ $.widget("ui.selectmenu", { } else { this.list.appendTo('body'); } - this.list.addClass(self.widgetBaseClass + '-open') - .attr('aria-hidden', false) - .find('li:not(.' + self.widgetBaseClass + '-group):eq(' + this._selectedIndex() + ') a')[0].focus(); + + this.list.addClass(self.widgetBaseClass + '-open').attr('aria-hidden', false); + // FIX IE: Refreshing position before focusing the element, prevents IE from scrolling to the focused element before it is in position. + this._refreshPosition(); + this.list.find('li:not(.' + self.widgetBaseClass + '-group):eq(' + this._selectedIndex() + ') a')[0].focus(); if ( this.options.style == "dropdown" ) { this.newelement.removeClass('ui-corner-all').addClass('ui-corner-top'); } - this._refreshPosition(); this._trigger("open", event, this._uiHash()); } },