диалоговое окно jQuery не отображается в центре - PullRequest
0 голосов
/ 04 мая 2011

У меня та же проблема, что и в этот вопрос , но теперь для всех браузеров.

Вот код:

$('form#main').live('submit', function(e) {
        e.preventDefault();
        var $this = this;
        ////console.log('click submit')
        var $div = $('<div>', {
            html: 'Are you sure you want to submit this table?<br/> All undo information will be lost.'
        }).dialog({
            modal: true,
            title: 'Are You Sure?',
            buttons: {
                ok: function() {
                    self.console('clicked ok');
                    $.post($this.action, $($this).serialize() + '&page=' + self.pageOn, function(data) {
                        self.console(data);
                        $('.DEV-time').text("  (File last updated at: " + data.DEV + ")");
                        $('.PROD-time').text("  (File last updated at: " + data.PROD + ")");
                        if(data.ERROR.length > 0){
                            alert(data.ERROR);
                        }
                        self.pageChanged = false;
                        self.origPage = $('#page').clone();
                        self.lastClick = $('#page').clone();
                    }, 'json')
                    $(this).dialog('close');
                },
                cancel: function() {
                    $(this).dialog('close');
                }
            },
            beforeClose: function() {
                $(this).remove();
            }
        })

        $div.dialog('widget').css('margin', '0 auto');

        return false;
    })

Ответы [ 4 ]

1 голос
/ 04 мая 2011

В дополнение к 'margin' вам необходимо указать явную ширину CSS.

0 голосов
/ 23 апреля 2013

Вы импортируете / включаете файл position.js? в вашем коде?

<script src="jquery.ui.position.js"></script>

это работа для меня

0 голосов
/ 05 мая 2011

УДАЛЕНИЕ the:

$div.dialog('widget').css('margin', '0 auto');

, который был исправлен к последнему вопросу, на этот раз исправил

0 голосов
/ 04 мая 2011

Я думаю, что ваша проблема в том, что метод .dialog () не знает высоту содержимого до загрузки. Либо попробуйте определить высоту в определении диалога, либо попробуйте этот Центрирующий диалог jQuery UI с неизвестной высотой - возможно ли это?

РЕДАКТИРОВАТЬ: извините, я не видел, что это было о центрировании его по горизонтали. Если это так, вам, вероятно, нужно явно установить ширину диалогового окна или использовать тот же прием, что и выше в ссылке.

...