У меня есть диалоговое окно jQuery ниже. Я использую jQuery UI 1.11.
$("#contactContainer").dialog({
closeOnEscape: false,
modal: true,
dialogClass: 'contactsFooter',
open: function(event, ui) {
$(".ui-dialog-titlebar-close").show();
$('#dialog_footer').remove();
$(".contactsFooter").append('<div class="" id="dialog_footer"><div class="dialog-footer-buttons"><button type="button" id ="close" class="button-style-2" onclick="$(\'#hasChangedForm\').val(\'\');" style="margin-left: 5px;">Cancel</button></div></div>');
},
autoOpen: false,
width: 300,
minHeight: 'auto',
maxHeight: 400,
position: { my: 'top', at: 'top+50' },
close:function() {
$('#contactContainer').dialog("option", "position", { my:"top", at:"top+50", of: window });
$('#contactContainer').html('');
}
});
$("#contactContainer").dialog('open');
Вот Fiddle. В этой скрипке
-
Щелкните любое текстовое поле (означает "фокус". В этом примере это значение имеет значение "test here" ).
-
Теперь прокрутите диалог, щелкнув полосу прокрутки диалогового окна и перетащите ее вверх/вниз и посмотрите, что происходит. Это теряет фокус на текстовом поле, которое мы нажали. Если я нажимаю вкладку, она снова устанавливает фокус на первое поле. Это странно.
Если я использую прокрутку мыши, фокус все еще находится там же. Это нормально.
Честно говоря, я не знаю, почему это происходит. Может ли кто-нибудь помочь мне в том, как предотвратить предотвращение фокуса при прокрутке? Я хочу, чтобы фокус сохранялся в одном поле.