Мне удалось заставить его работать, введя еще один div с песочными часами / вращающимся колесом «Please Wait», загружающим изображение. (Я использую jquery-1.7.1)
Попробуйте заменить эту строку:
$("<div></div>")
С этим:
$("<div><div style='text-align: center'><img src='@Url.Content("~/Content/images/loading.gif")' alt='Please Wait...' width='100px'/></div></div>")
Это мой рабочий код (в точности как исходный пост, за исключением одной строки):
// these are for the popup dialogs
// need to use live instead of click because object doesnt exist on ready and will give an objectexpected
$(".openDialog, .editDialog").live("click", function(e) {
e.preventDefault();
// this div is duplicate of 'loading' div below
$("<div><div style='text-align: center'><img src='@Url.Content("~/Content/images/loading.gif")' alt='Please Wait...' width='100px'/></div></div>")
.addClass("dialog")
.attr("id", $(this).attr("data-dialog-id"))
.appendTo("body")
.dialog({
// NOTE: This is where the size of the popup window is set
width: 800,
position: 'top',
title: $(this).attr("data-dialog-title"),
close: function() { $(this).remove(); },
modal: true
})
.load(this.href);
});