Я был в Вашем положении назад в ноябре. Я наконец получил его работа и записал мне направления. Как ни странно, вчера я решил отправить его как моя первая статья о моем веб-сайте. Это - направления для установки Схемы в Ubuntu, но это могла бы быть удобная ссылка в случае, если Вы застреваете с чем-то. Если ничто иное, кто-то еще мог бы найти этот вопрос и найти его полезным. Надежда это помогает.
Установите tabindex ввода на -1, а затем установите dialog.open, чтобы восстановить tabindex, если он понадобится позже:
$(function() {
$( "#dialog-message" ).dialog({
modal: true,
width: 500,
autoOpen: false,
resizable: false,
open: function()
{
$( "#datepicker1" ).attr("tabindex","1");
$( "#datepicker2" ).attr("tabindex","2");
}
});
});
Это может быть связано с поведением браузера, а не с плагином jQuery. Вы пытались удалить фокус программно после открытия всплывающего окна.
$('#lnkAddReservation').click(function () {
dlg.dialog('open');
// you may want to change the selector below
$('input,textarea,select').blur();
return false;
});
Не тестировали, но должно работать нормально.
Я обнаружил следующий код функции диалогового окна jQuery UI для открытия.
c([]).add(d.find(".ui-dialog-content :tabbable:first")).add(d.find(".ui-dialog-buttonpane :tabbable:first")).add(d).filter(":first").focus();
Вы можете либо обойти поведение jQuery, либо изменить его.
tabindex -1 работает как обходной путь.
c([]).add(d.find(".ui-dialog-content :tabbable:first")).add(d.find(".ui-dialog-buttonpane :tabbable:first")).add(d).filter(":first").focus();
1154442]
У меня было содержимое, которое было длиннее, чем диалог.При открытии диалоговое окно переходит к первому: tabbable, который находился внизу. Вот и мое исправление.
$("#myDialog").dialog({
...
open: function(event, ui) { $(this).scrollTop(0); }
});
Вы можете добавить это:
.. .
dlg.dialog({ autoOpen:false,
modal: true,
width: 400,
open: function(){ // There is new line
$("#txtStartDate").focus();
}
});
...