|
18 | 18 | top: 10 |
19 | 19 | }).appendTo(document.body).themeswitcher(); |
20 | 20 |
|
21 | | - var menus = $("#menu1, #menu2").menu({ |
22 | | - selected: function(event, ui) { |
23 | | - $("#log").append("<div>Selected " + ui.item.text() + "</div>"); |
24 | | - } |
25 | | - }).hide(); |
26 | | - |
27 | | - |
28 | | - $("button").click(function(event) { |
| 21 | + $("button").each(function() { |
| 22 | + $(this).next().menu({ |
| 23 | + selected: function(event, ui) { |
| 24 | + $(this).hide(); |
| 25 | + $("#log").append("<div>Selected " + ui.item.text() + "</div>"); |
| 26 | + }, |
| 27 | + input: $(this) |
| 28 | + }).hide(); |
| 29 | + }).click(function(event) { |
29 | 30 | // TODO required to prevent the click handler below from handling this event |
30 | 31 | event.stopPropagation(); |
31 | | - $("#menu" + this.id).menu("deactivate").show().position({ |
| 32 | + var menu = $("#menu" + this.id).menu("deactivate").show().position({ |
32 | 33 | my: "left top", |
33 | 34 | at: "right top", |
34 | 35 | of: event.pageX > 0 ? event : this |
35 | 36 | }); |
36 | 37 | $(document).one("click", function() { |
37 | | - menus.hide(); |
| 38 | + menu.hide(); |
38 | 39 | }) |
39 | 40 | }).keydown(function(event) { |
40 | 41 | var menu = $("#menu" + this.id).data("menu"); |
41 | 42 | if (menu.widget().is(":hidden")) |
42 | 43 | return; |
43 | 44 | event.stopPropagation(); |
44 | 45 | switch (event.keyCode) { |
45 | | - case $.ui.keyCode.PAGE_UP: |
46 | | - menu.previousPage(); |
47 | | - break; |
48 | | - case $.ui.keyCode.PAGE_DOWN: |
49 | | - menu.nextPage(); |
50 | | - break; |
51 | | - case $.ui.keyCode.UP: |
52 | | - menu.previous(); |
53 | | - break; |
54 | | - case $.ui.keyCode.DOWN: |
55 | | - menu.next(); |
56 | | - event.preventDefault(); |
57 | | - break; |
58 | | - case $.ui.keyCode.ENTER: |
59 | 46 | case $.ui.keyCode.TAB: |
60 | | - menu.select(); |
61 | 47 | menu.widget().hide(); |
62 | | - event.preventDefault(); |
63 | 48 | break; |
64 | 49 | case $.ui.keyCode.ESCAPE: |
65 | 50 | menu.widget().hide(); |
|
111 | 96 | <body> |
112 | 97 |
|
113 | 98 | <button id="1">Show context menu 1</button> |
114 | | - |
115 | 99 | <ul id="menu1"> |
116 | 100 | <li><a href="#">Amsterdam</a></li> |
117 | 101 | <li><a href="#">Anaheim</a></li> |
|
123 | 107 | <li><a href="#">Zurich</a></li> |
124 | 108 | </ul> |
125 | 109 |
|
| 110 | +<div class="ui-widget" style="margin-top:2em; font-family:Arial"> |
| 111 | + Log: |
| 112 | + <div id="log" style="height: 400px; width: 300px; overflow: auto;" class="ui-widget-content"></div> |
| 113 | +</div> |
| 114 | + |
| 115 | +<button id="2">Show context menu 2</button> |
126 | 116 | <ul id="menu2"> |
127 | 117 | <li><a href="#">Aberdeen</a></li> |
128 | 118 | <li><a href="#">Ada</a></li> |
|
164 | 154 | <li><a href="#">Amesville</a></li> |
165 | 155 | </ul> |
166 | 156 |
|
167 | | -<div class="ui-widget" style="margin-top:2em; font-family:Arial"> |
168 | | - Log: |
169 | | - <div id="log" style="height: 400px; width: 300px; overflow: auto;" class="ui-widget-content"></div> |
170 | | -</div> |
171 | | - |
172 | | -<button id="2">Show context menu 2</button> |
173 | | - |
174 | 157 | </body> |
175 | 158 | </html> |
0 commit comments