Из-за требований ADA мне нужно изменить кнопку, которая использует виджет menu()
из jqueryui, чтобы программы чтения с экрана могли нажимать кнопку и получать то же поведение, что и при наведении курсора.
Текущее поведение: при наведении курсора на кнопку появляется раскрывающееся меню. Поведение, которое я хочу, является событием щелчка и удаления наведения. С событием щелчка программы чтения с экрана должны видеть кнопку и активировать раскрывающееся меню.
Как мне сделать sh это?
И чтобы сделать это более интересным, menu()
Виджет используется вместе со страницей веб-форм, которая заполняет меню. Итак, для веб-формы у меня есть следующее:
<div id="buy-tickets-container">
<ul id="buy-tickets-button">
<li>
<div class="submit-bttn" id="buyTicketsDropDownButtonLink"><%= BuyButtonText %></div>
<ul class="event-dates">
<asp:Repeater runat="server" ID="DateList">
<ItemTemplate>
<li><a class="date-select-link" href='<%# Eval("Href") %>'><%# Eval("Date") %> <%# Eval("PriceClass") %></a></li>
</ItemTemplate>
</asp:Repeater>
</ul>
</li>
</ul>
</div>
, и меню на странице ascx просто:
$('#buy-tickets-button')
.menu({
position: { my: "left top", at: "left bottom + 1" },
icons: { menu: "ui-icon-blank", submenu: "ui-icon-blank" }
});
Отключение поведения при наведении также вполне приемлемо. Я посмотрел на jqueryui API для menu()
, но у него нет события click()
. Я могу реализовать то, что обнаружил, что удаляет поведение при наведении на кнопку $('#buy-tickets-button').unbind('mouseenter mouseleave');
, но вместо этого мне нужно событие click. И просто добавление события щелчка не работает, в основном потому, что я не знаю, с чем связываться так же, как при наведении курсора ...
Еще одна сложность заключается в том, что этот сайт будет заменен примерно 6 месяцев, поэтому я не хочу тратить слишком много времени на это исправление. Так что я могу сделать?