0

我想在 3 秒后自动关闭我的 ui 消息对话框。我以这种方式尝试过,但我不知道为什么它不起作用。(对话框不会自动关闭)

$("#success").dialog( "open" ).html( html_msg );
$("#success").on( "dialogclose", function( event, ui ) { window.location = url } )

带按钮动作(完美运行)

$("#success").dialog({
  resizable: false,
  autoOpen: false,
  modal: true,
  dialogClass: 'success',
  buttons: {
    'Close': function() {
        $(this).dialog('close');
        }
     }
});

带自动关闭(不起作用)

$('#success').dialog({
  resizable: false,
  autoOpen: false,
  show: "blind",
  hide: "blind",
  modal: true,
  dialogClass: 'success',
  open: function(event, ui) {
     setTimeout(function(){
        $(this).dialog('close');                
         }, 3000);
    }

});

我哪里错了?哪种方法是正确的?谢谢

4

1 回答 1

1

正确的方法是使用ID而不是this这里使用:

open: function(event, ui) {
    setTimeout(function(){
        $('#success').dialog('close');                
    }, 3000);
}

演示:小提琴

于 2013-10-27T10:40:08.607 回答