使用 jquery 对话框有一段时间了,但现在遇到了一个奇怪的行为。
来电:
$('#dialog-form').dialog({
autoOpen: false,
width: '700px',
modal: true,
hide: 'slide'
});
$('#dialog-form').dialog('option', 'buttons', {
'add' : {
text: labelAdd,
click: function() {
doadd = true;
if (typeof checkRow !== "undefined") { doadd = checkRow() };
if (doadd) { exec(); }
}},
'Cancelar': function() {$(this).dialog('close'); }
});
$("#dialog-form").dialog("open");
function exec() {
$('#dialog-form').dialog('close');
/* execute some remote code using ajax call*/
if (error) {
$('#dialog-form').dialog('open');
return false
}
return true;
}
对话框未正确显示。它显示“ui-widget-overlay”,但不显示对话框内容。
我调用该函数的两次树时间发生在我身上。
对于我可以看到的显示属性设置为无。
生成的html代码:
div class="ui-dialog ui-widget ui-widget-content ui-corner-all ui-draggable ui-resizable" style="display: none; z-index: 1002; outline: 0px none; position: absolute; height: auto; width: 700px; top: 0px; left: 320.5px;" tabindex="-1" role="dialog" aria-labelledby="ui-dialog-title-dialog-form">
我使用firebug手动设置显示阻止,它工作正常。
顺便说一句,如果我脉冲“esc”,我可以看到隐藏对话框的动画。
我可以从js设置div内容的显示吗?或者我应该以不同的方式打开/关闭对话框?
谢谢您的帮助。
安东尼奥