我编写了自己的ModalDialog函数,弹出窗口只运行一次。这是我的ModalDialog函数:
function ModalDialog(button, text, fadeOut) {
$('.error-notification').remove();
var x = "#" + button;
var $err = $('<div>').addClass('error-notification')
.html(text)
.css('left', $(x).position().left);
$(x).after($err);
$err.fadeIn('slow');
if (fadeOut == true) {
setTimeout(function() {
$err.fadeOut()
}, 3000);
}
//$err.delay(0).fadeOut('slow');
}
以下是masterpage加载的脚本文件中的代码。
$(".error-notification").live('click', function () {
$(this).fadeOut('fast', function () { $(this).remove(); });
});
以下是我调用该函数的方法。
ModalDialog('testingAjax', 'h', false);
我知道每次调用ModalDialog函数,因为我最后在函数内部使用了console.log。那么为什么它只显示弹出一次而不是第二次/第三次/第四次等...?
答案 0 :(得分:2)
您正在删除所有以前存在的弹出窗口:
$('.error-notification').remove();
它实际上显示了所有这些,但只保留最后一个。 这是一个相关的小提琴:http://jsfiddle.net/BhU6F/3/