#jquery-ui #jquery-ui-dialog
#jquery-ui #jquery-ui-dialog
Вопрос:
У меня есть диалоговое окно пользовательского интерфейса jQuery с некоторым странным поведением: всякий раз, когда вы щелкаете или дважды щелкаете по заголовку / заголовку диалогового окна, есть вероятность, что оно закроет диалоговое окно, не удаляя модальное наложение (двойные щелчки, похоже, вызывают его чаще, чем щелчки, но оба довольночасто и ни один из них не запускает закрытие в 100% случаев).
Тот факт, что модальный параметр остается позади, заставляет меня думать, что происходит ошибка, но в консоли ошибок нет. У меня был бы соблазн обвинить мой код, но такое поведение происходит даже тогда, когда я инициализирую диалоговое окно вообще без параметров ( $el.dialog({})
). Я также пробовал настройку {close: $.noop}
, но безрезультатно. Однако другие диалоги в других местах нашей кодовой базы не имеют такого поведения (хотя я не могу найти никаких значимых различий между ними, кроме как в CSS).
Кто-нибудь имеет представление о том, что происходит, и как я могу это исправить?
Комментарии:
1. Не могли бы вы поделиться кодом, как в jsFiddle или что-то в этом роде
2. Проблема в том, что нет кода для отображения; если я (буквально)
$('<div></div>').dialog({});
нажимаю на заголовок, диалоговое окно все равно закрывается. Как я уже упоминал, могут быть некоторые CSS, влияющие на вещи, но у нас есть тысячи строк CSS, и я понятия не имею, какой бит, в частности, может вызвать что-то подобное.
Ответ №1:
Попробуйте setting .ui-dialog { позиция: исправлена }
Комментарии:
1. Спасибо за ответ (это должно быть частью кода jQuery UI …)
2. Это действительно исправление, и проблема связана с вертикальной прокруткой. Это происходит, когда вы прокручиваете страницу вниз, а затем открываете диалоговое окно. Вот JSFiddle с добавленным вертикальным пробелом, чтобы проиллюстрировать проблему: jsfiddle.net/russellg99/frxtmuhj/6