Кажется, это общая проблема, и я не нашел удовлетворительного ответа. Есть несколько похожих вопросов о переполнении стека, и лучший ответ, который я видел, - это захватить ключи и запустить действие самостоятельно (это было для нажатия кнопки enter, поэтому обновить f5 может быть сложнее). Я видел это сам в проект, над которым я тоже работаю.
Я подозреваю, что установка модального в false может помочь, но я еще не пробовал.
Edit:
Я нашел это в строке 539 файла ui.dialog.js:
events: $.map('focus,mousedown,mouseup,keydown,keypress,click'.split(','),
Удаление клавиш и нажатий оттуда, казалось, позволяло работать обычным клавишам браузера. Теперь моя выглядит так:
events: $.map('focus,mousedown,mouseup,click'.split(','),
Я не знаю, какую функциональность я бы удалил, сделав это. Кажется, что используются только те события, которые находятся на линии 549:
$(document).bind($.ui.dialog.overlay.events, function(event) {
var dialogZ = $(event.target).parents('.ui-dialog').css('zIndex') || 0;
return (dialogZ > $.ui.dialog.overlay.maxZ);
});
Было бы неплохо исправить это в официальной версии, если это возможно.