当我尝试关闭simplemodal对话框时,正如我在插件的网站示例中看到的那样,它是通过调用
来完成的。$.modal.close() or modal.close()
但他们没有为我工作。
在Chrome控制台上我得到了这个:
Uncaught TypeError: Object #<an HTMLDivElement> has no method 'close'
$.live.$.load.$.modal.onClose
这是完整的代码。
$('.FinishUploadedFile').live('click',function(){
$('<div id="modal"></div>').load('page?n=3',function(){
$(this).modal({
overlayClose: true,
position: ['10%'],
overlayOpacity:0,
onOpen: function (dialog) {
dialog.overlay.fadeIn('normal', function () {
dialog.data.hide();
dialog.container.fadeIn('fast', function () {
dialog.data.slideDown('fast');
});
});
},
onClose: function (dialog) {
dialog.data.fadeOut('normal', function () {
dialog.container.slideUp('fast', function () {
dialog.overlay.fadeOut('fast', function () {
//Close the dialog.
modal.close();
});
});
});
}
});
});
});
答案 0 :(得分:0)
您尚未在任何地方声明modal
。您需要将modal.close();
更改为$.modal.close();
或将onClose
功能更改为:
onClose: function (dialog) {
var modal = this; // <- add this line
dialog.data.fadeOut('normal', function () {
dialog.container.slideUp('fast', function () {
dialog.overlay.fadeOut('fast', function () {
//Close the dialog.
modal.close();
});
});
});
}