diff --git a/ui/autocomplete.js b/ui/autocomplete.js index 209fa71ae99..b9675f30764 100644 --- a/ui/autocomplete.js +++ b/ui/autocomplete.js @@ -365,7 +365,7 @@ $.widget( "ui.autocomplete", { } if ( !element || !element[ 0 ] ) { - element = this.element.closest( ".ui-front" ); + element = this.element.closest( ".ui-front,dialog" ); } if ( !element.length ) { diff --git a/ui/selectmenu.js b/ui/selectmenu.js index 74e142d33d4..10c32417b10 100644 --- a/ui/selectmenu.js +++ b/ui/selectmenu.js @@ -586,7 +586,7 @@ return $.widget( "ui.selectmenu", { } if ( !element || !element[ 0 ] ) { - element = this.element.closest( ".ui-front" ); + element = this.element.closest( ".ui-front,dialog" ); } if ( !element.length ) { diff --git a/ui/tooltip.js b/ui/tooltip.js index ae10177223b..d26465e8bc4 100644 --- a/ui/tooltip.js +++ b/ui/tooltip.js @@ -428,7 +428,7 @@ $.widget( "ui.tooltip", { this._addClass( content, "ui-tooltip-content" ); this._addClass( tooltip, "ui-tooltip", "ui-widget ui-widget-content" ); - tooltip.appendTo( this.document[ 0 ].body ); + tooltip.appendTo( this._appendTo( element ) ); return this.tooltips[ id ] = { element: element, @@ -446,6 +446,16 @@ $.widget( "ui.tooltip", { delete this.tooltips[ tooltip.attr( "id" ) ]; }, + _appendTo: function( target ) { + var element = target.closest( ".ui-front,dialog" ); + + if ( !element.length ) { + element = this.document[ 0 ].body; + } + + return element; + }, + _destroy: function() { var that = this;