diff options
-rw-r--r-- | tests/unit/autocomplete/autocomplete_core.js | 6 | ||||
-rw-r--r-- | tests/unit/autocomplete/autocomplete_events.js | 6 | ||||
-rw-r--r-- | tests/unit/autocomplete/autocomplete_methods.js | 6 | ||||
-rw-r--r-- | tests/unit/autocomplete/autocomplete_options.js | 6 | ||||
-rw-r--r-- | tests/unit/autocomplete/autocomplete_tickets.js | 6 | ||||
-rw-r--r-- | ui/jquery.ui.autocomplete.js | 11 |
6 files changed, 32 insertions, 9 deletions
diff --git a/tests/unit/autocomplete/autocomplete_core.js b/tests/unit/autocomplete/autocomplete_core.js index 6d8b2f903..9b8709abb 100644 --- a/tests/unit/autocomplete/autocomplete_core.js +++ b/tests/unit/autocomplete/autocomplete_core.js @@ -5,7 +5,11 @@ (function($) { -module("autocomplete: core"); +module("autocomplete: core", { + teardown: function() { + $( ":ui-autocomplete" ).autocomplete( "destroy" ); + } +}); test("close-on-blur is properly delayed", function() { var ac = $("#autocomplete").autocomplete({ diff --git a/tests/unit/autocomplete/autocomplete_events.js b/tests/unit/autocomplete/autocomplete_events.js index 3bbcafdf2..7b38acb8a 100644 --- a/tests/unit/autocomplete/autocomplete_events.js +++ b/tests/unit/autocomplete/autocomplete_events.js @@ -3,7 +3,11 @@ */ (function($) { -module("autocomplete: events"); +module("autocomplete: events", { + teardown: function() { + $( ":ui-autocomplete" ).autocomplete( "destroy" ); + } +}); var data = ["c++", "java", "php", "coldfusion", "javascript", "asp", "ruby", "python", "c", "scala", "groovy", "haskell", "pearl"]; diff --git a/tests/unit/autocomplete/autocomplete_methods.js b/tests/unit/autocomplete/autocomplete_methods.js index 44e74cb69..8df5bd4b2 100644 --- a/tests/unit/autocomplete/autocomplete_methods.js +++ b/tests/unit/autocomplete/autocomplete_methods.js @@ -4,7 +4,11 @@ (function($) { -module("autocomplete: methods"); +module("autocomplete: methods", { + teardown: function() { + $( ":ui-autocomplete" ).autocomplete( "destroy" ); + } +}); test("destroy", function() { var beforeHtml = $("#autocomplete").parent().html(); diff --git a/tests/unit/autocomplete/autocomplete_options.js b/tests/unit/autocomplete/autocomplete_options.js index bd07ab7eb..67682e22d 100644 --- a/tests/unit/autocomplete/autocomplete_options.js +++ b/tests/unit/autocomplete/autocomplete_options.js @@ -3,7 +3,11 @@ */ (function($) { -module("autocomplete: options"); +module("autocomplete: options", { + teardown: function() { + $( ":ui-autocomplete" ).autocomplete( "destroy" ); + } +}); /* disabled until autocomplete actually has built-in support for caching diff --git a/tests/unit/autocomplete/autocomplete_tickets.js b/tests/unit/autocomplete/autocomplete_tickets.js index a67ff7566..bde9faffd 100644 --- a/tests/unit/autocomplete/autocomplete_tickets.js +++ b/tests/unit/autocomplete/autocomplete_tickets.js @@ -3,7 +3,11 @@ */ (function($) { -module("autocomplete: tickets"); +module("autocomplete: tickets", { + teardown: function() { + $( ":ui-autocomplete" ).autocomplete( "destroy" ); + } +}); diff --git a/ui/jquery.ui.autocomplete.js b/ui/jquery.ui.autocomplete.js index 226b2b1b4..3cb031b1e 100644 --- a/ui/jquery.ui.autocomplete.js +++ b/ui/jquery.ui.autocomplete.js @@ -20,7 +20,8 @@ $.widget( "ui.autocomplete", { delay: 300 }, _create: function() { - var self = this; + var self = this, + doc = this.element[ 0 ].ownerDocument; this.element .addClass( "ui-autocomplete-input" ) .attr( "autocomplete", "off" ) @@ -95,7 +96,7 @@ $.widget( "ui.autocomplete", { }; this.menu = $( "<ul></ul>" ) .addClass( "ui-autocomplete" ) - .appendTo( this.element.parent() ) + .appendTo( "body", doc ) .menu({ focus: function( event, ui ) { var item = ui.item.data( "item.autocomplete" ); @@ -112,7 +113,7 @@ $.widget( "ui.autocomplete", { self.close( event ); self.previous = self.element.val(); // only trigger when focus was lost (click on menu) - if ( self.element[0] != document.activeElement ) { + if ( self.element[0] !== doc.activeElement ) { self.element.focus(); } } @@ -232,7 +233,9 @@ $.widget( "ui.autocomplete", { _suggest: function( items ) { var self = this, - ul = this.menu.element.empty(); + ul = this.menu.element + .empty() + .zIndex( this.element.zIndex() + 1 ); this._renderMenu( ul, items ); // TODO refresh should check if the active item is still in the dom, removing the need for a manual deactivate this.menu.deactivate(); |