我创建了像这样的对话
$('#add_error').click(function(e) {
$('<div>')
.load('/someaction/format/html/')
.dialog({
title: 'Some title',
modal: true,
width: 385,
close: function() {
$(this).remove();
}
});
e.preventDefault();
});
它工作正常,但每三分之一(不确定是否真的第三次)我点击链接打开对话框,它在firebug中失败
“$(”“)。addClass(”ui-widget-overlay“)未定义”
在dialog.js中,这是一段代码:
var $el = (this.oldInstances.length ? this.oldInstances.splice(0, 1)[0] : $('<div></div>').addClass('ui-widget-overlay'))
.appendTo(document.body)
.css({
width: this.width(),
height: this.height()
});
在create:function(dialog)方法下。
奇怪的是,当我删除
时不会发生此错误close: function() {
$(this).remove();
}
有什么想法吗?
答案 0 :(得分:0)
我认为它必须以某种奇怪的方式连接到:ui-widget-overlay。
我只是在我的页面中覆盖它,如下所示: .ui-dialog-titlebar {display:none; } .ui-widget-overlay {background:#888888;不透明度:0.15;过滤器:阿尔法(不透明度= 15); }
并且覆盖ui-widget-overlay的原因只是因为 以下不起作用 .ui-dialog-overlay {background:#888888;不透明度:0.15;过滤器:阿尔法(不透明度= 15); }
答案 1 :(得分:0)
自1.8rc3起,这已在trunk中修复。见http://dev.jqueryui.com/ticket/5263
答案 2 :(得分:0)
Everithing适用于jQuery UI 1.8