]> source.dussan.org Git - jquery-ui.git/commitdiff
Autocomplete (Menu): Only traverse through .ui-menu-item elements for paging. Fixes...
authorScott González <scott.gonzalez@gmail.com>
Mon, 27 Sep 2010 13:10:18 +0000 (09:10 -0400)
committerScott González <scott.gonzalez@gmail.com>
Mon, 27 Sep 2010 13:10:18 +0000 (09:10 -0400)
ui/jquery.ui.autocomplete.js

index 3dbcb9cf48aa293abce5234284fd047d23d666d5..680a81f29326cdbe24d6b78c0250dc921fd8e633 100644 (file)
@@ -501,12 +501,12 @@ $.widget("ui.menu", {
                if (this.hasScroll()) {
                        // TODO merge with no-scroll-else
                        if (!this.active || this.last()) {
-                               this.activate(event, this.element.children(":first"));
+                               this.activate(event, this.element.children(".ui-menu-item:first"));
                                return;
                        }
                        var base = this.active.offset().top,
                                height = this.element.height(),
-                               result = this.element.children("li").filter(function() {
+                               result = this.element.children(".ui-menu-item").filter(function() {
                                        var close = $(this).offset().top - base - height + $(this).height();
                                        // TODO improve approximation
                                        return close < 10 && close > -10;
@@ -514,11 +514,12 @@ $.widget("ui.menu", {
 
                        // TODO try to catch this earlier when scrollTop indicates the last page anyway
                        if (!result.length) {
-                               result = this.element.children(":last");
+                               result = this.element.children(".ui-menu-item:last");
                        }
                        this.activate(event, result);
                } else {
-                       this.activate(event, this.element.children(!this.active || this.last() ? ":first" : ":last"));
+                       this.activate(event, this.element.children(".ui-menu-item")
+                               .filter(!this.active || this.last() ? ":first" : ":last"));
                }
        },
 
@@ -527,13 +528,13 @@ $.widget("ui.menu", {
                if (this.hasScroll()) {
                        // TODO merge with no-scroll-else
                        if (!this.active || this.first()) {
-                               this.activate(event, this.element.children(":last"));
+                               this.activate(event, this.element.children(".ui-menu-item:last"));
                                return;
                        }
 
                        var base = this.active.offset().top,
                                height = this.element.height();
-                               result = this.element.children("li").filter(function() {
+                               result = this.element.children(".ui-menu-item").filter(function() {
                                        var close = $(this).offset().top - base + height - $(this).height();
                                        // TODO improve approximation
                                        return close < 10 && close > -10;
@@ -541,11 +542,12 @@ $.widget("ui.menu", {
 
                        // TODO try to catch this earlier when scrollTop indicates the last page anyway
                        if (!result.length) {
-                               result = this.element.children(":first");
+                               result = this.element.children(".ui-menu-item:first");
                        }
                        this.activate(event, result);
                } else {
-                       this.activate(event, this.element.children(!this.active || this.first() ? ":last" : ":first"));
+                       this.activate(event, this.element.children(".ui-menu-item")
+                               .filter(!this.active || this.first() ? ":last" : ":first"));
                }
        },