JQuery Ui Dialog не может исчезнуть дважды - PullRequest
1 голос
/ 03 октября 2010

У меня странная проблема с jquery. У меня есть этот div, который показывает сообщения для ajaxified действий, и я хочу, чтобы сообщение исчезло, когда через 5 секунд ... оно работает впервые ... но когда я снова запускаю действие вна той же странице появляется диалоговое окно, но оно никогда не исчезнет, ​​несмотря ни на что, если я не закрою его, нажав кнопку X. Код:

    jQuery( "#dialog" ).dialog({
    open: function(event, ui) {
setTimeout(function(){
    jQuery("#dialog").dialog("close");
}, 5000);

    },
hide: "fadeOut"
});

, и он включен в страницу jsp, включающую все ajaxстраницы .. в чем проблема ??

Ответы [ 3 ]

2 голосов
/ 03 октября 2010

Посмотрите на эту запись в блоге от nemikor (как указано в диалоговом окне jquery page )

Каждый раз, когда вы вызываете этот фрагмент кода, jquery пытаетсясоздать новый dialog -экземпляр с идентификатором dialog.Создайте это диалоговое окно при запуске с параметром autoOpen, установленным в значение false, и откройте диалоговое окно, вызвав dialog('open')

пример для jsfiddle

1 голос
/ 03 октября 2010

Я все равно получил .. я должен удалять диалог div каждый раз, когда он закрывается, выглядит грязной работой, но в результате получается хороший результат

0 голосов
/ 31 августа 2016

Добавить autoOpen: false и открывать вручную каждый раз. Этот код прост и должен нормально работать. Замените «ELEMENTID» на идентификатор вашего диалога.

$("#ELEMENTID").dialog({
    autoOpen: false
});
$("#ELEMENTID").dialog("open");
...