|
14 | 14 | $.widget("ui.drilldown", { |
15 | 15 | _init: function() { |
16 | 16 | var self = this; |
17 | | - this.active = this.element; |
| 17 | + this.active = this.element.find(">ul").attr("tabindex", 0); |
18 | 18 |
|
19 | 19 | // hide submenus and create indicator icons |
20 | 20 | this.element.find("ul").hide().prev("a").prepend('<span class="ui-icon ui-icon-carat-1-e"></span>').end().filter(":first").show(); |
|
84 | 84 | parent.parent().removeData("submenu"); |
85 | 85 | submenu = submenu.data("submenu"); |
86 | 86 | }; |
| 87 | + }, |
| 88 | + |
| 89 | + widget: function() { |
| 90 | + return this.element.find(">ul"); |
87 | 91 | } |
88 | 92 | }); |
89 | 93 |
|
90 | | - var nestedmenu = $("#drilldown").drilldown({ |
| 94 | + var drilldown = $("#drilldown").drilldown({ |
91 | 95 | selected: function(event, ui) { |
92 | 96 | $("#log").append("<div>Selected " + ui.item.text() + "</div>"); |
93 | 97 | } |
94 | 98 | }); |
95 | 99 |
|
96 | | - $().keydown(function(event) { |
97 | | - var menu = nestedmenu.data("drilldown").active.data("menu"); |
| 100 | + drilldown.drilldown("widget").keydown(function(event) { |
| 101 | + var menu = drilldown.data("drilldown").active.data("menu"); |
98 | 102 | if (menu.widget().is(":hidden")) |
99 | 103 | return; |
100 | 104 | event.stopPropagation(); |
|
109 | 113 | menu.previous(); |
110 | 114 | break; |
111 | 115 | case $.ui.keyCode.LEFT: |
112 | | - nestedmenu.nestedmenu("up"); |
| 116 | + drilldown.drilldown("up"); |
113 | 117 | break; |
114 | 118 | case $.ui.keyCode.RIGHT: |
115 | | - nestedmenu.nestedmenu("down"); |
| 119 | + drilldown.drilldown("down"); |
116 | 120 | break; |
117 | 121 | case $.ui.keyCode.DOWN: |
118 | 122 | menu.next(); |
|
121 | 125 | case $.ui.keyCode.ENTER: |
122 | 126 | case $.ui.keyCode.TAB: |
123 | 127 | menu.select(); |
124 | | - nestedmenu.nestedmenu("hide"); |
| 128 | + drilldown.drilldown("hide"); |
125 | 129 | event.preventDefault(); |
126 | 130 | break; |
127 | 131 | case $.ui.keyCode.ESCAPE: |
128 | | - nestedmenu.nestedmenu("hide"); |
| 132 | + drilldown.drilldown("hide"); |
129 | 133 | break; |
130 | 134 | default: |
131 | 135 | clearTimeout(menu.filterTimer); |
|
0 commit comments