У меня есть диалоговое окно jQuery UI с несколькими кнопками.
Мне бы хотелось, чтобы на этих кнопках было управление с клавиатуры (навигация по вкладкам), поэтому в обработчике открытого события для диалога я установил первую кнопку в фокусе.
Я вижу, как это работает, а также проверяю его, используя document.activeElement, но затем фокус фокусируется и что-то еще фокусируется.
К этому времени я не знаю, как я должен видеть то, на чем фокусируется, поскольку у меня больше нет крючков.
Кто-нибудь еще заметил подобную проблему?
Если вам интересно, мой код такой (исправлено, чтобы добавить Фокус, как описано ниже)
в doc.ready - note Я также добавил к нему кнопки jQuery - но они, похоже, совсем не реагируют на события клавиатуры - но это отдельный вопрос.
$("#dialogSearchType").dialog
(
{
bgiframe: true,
height: 180,
width: 350,
modal: true,
autoOpen: false,
show: 'drop',
hide: 'fold',
buttons: { "Street": function() { HandleSearchStreetClick(); $(this).dialog("close"); },
"Property": function() { HandleSearchPropertyClick(); $(this).dialog("close"); }
},
focus: function(event, ui) { $("#btnSearchTypeProperty").focus(); }
}
);
<div id="dialogSearchType" class="searchDialog" style="width: 280px; display: none" title="Search For..." onkeyup="HandleSearchTypeDialogKeyUp(event)">
<span>What would you like to search for?</span>
<br />
<input type="button" tabindex="1" id="btnSearchTypeStreet" class="button" value="Street" onclick="HandleDialogSearchStreetClick()" />
<input type="button" tabindex="2" id="btnSearchTypeProperty" class="button" value="Property" />
</div>
Как видите, я пытался добавить обработчики событий, но ничего не происходит!