Окно перезагрузки диалогового окна jQuery в Firefox - PullRequest
0 голосов
/ 12 октября 2010

У меня есть веб-приложение, которое я разрабатываю на Firefox. Я использую jQuery для нескольких вещей, с несколькими модальными окнами, являющимися частью этого. В одном из этих модальных диалоговых окон, когда функция запускается, она меняет заголовок, добавляет кнопку, а затем открывается. Когда эта функция запускается в Firefox, окно / вкладка на короткое время становится пустым, затем страница снова появляется, и диалоговое окно отображается, как и ожидалось. Это никак не влияет на функциональность, только на презентацию (т.е. выглядит плохо ..). Я подозреваю, что происходит обновление DOM, в результате чего Firefox быстро перезагружает страницу. Что является причиной этого, я не знаю (за исключением того, что это диалоговое окно jQuery), и это не происходит с другими диалоговыми окнами, которые есть на той же странице.

Код, который получает данные, заполняет их в диалоговом окне div и открывает диалоговое окно:

else if(response.getElementsByTagName('reply')[0].firstChild.data == 'section') {
                var secContent = ''
                for(var i=0; i<response.getElementsByTagName('content').length;i++) {
                    secContent += response.getElementsByTagName('content')[i].firstChild.data;
                }
                document.getElementById('section').innerHTML = secContent;
                var section = response.getElementsByTagName('section')[0].firstChild.data;
                var pid = response.getElementsByTagName('pid')[0].firstChild.data;
                document.getElementById('loader_'+section).style.display = 'none';
                $("#section").dialog("option", "title", section.toUpperCase());
                $("#section").dialog("option", "buttons", { "Save Changes": function() { saveSec(section, pid); } } );
                $("#section").dialog("open");
            }

И диалоговое окно js:

$( "#section" ).dialog({
        minHeight: 300,
        minWidth: 500,
        modal: true,
        autoOpen: false,
        resizable: false,
        show:'drop',
    });

1 Ответ

0 голосов
/ 12 октября 2010

Разобрался ... HTML-код, который функция получала и вставляла в диалог div, содержала проблему. По какой-то причине, которую я не смог решить, использование атрибута «selected» для тега «option» в выпадающем списке select приводило к его возникновению. Я понятия не имею, почему, и для меня это не имеет смысла, но удаление выбранного атрибута заставило его всплыть в диалоговом окне без перезагрузки.

...