我正在使用下面的代码创建一个Jquery-UI对话框。
var dynDiv = document.createElement("div");
document.getElementById("divparent").appendChild(dynDiv);
dialog_box(dynDiv, buttons);
function dialog_box(dynDiv, dialog_buttons) {
$.each(dialog_buttons, function (index, props) {
$("#" + dynDiv.id).append('<span id="btn' + dynDiv.id + props.id + '">' + props.text + '</span>');
$('#btn' + dynDiv.id + props.id).button().on("click", {
param: props,divid: dynDiv.id
}, props.handler);
});
$("#" + dynDiv.id).dialog({
modal: true,
appendTo: "#divparent",
show: "puff",hide: "explode",resizable: true,closeOnEscape: false,
minWidth: 200,
minHeight: 150
});
http://jsfiddle.net/DOmEl/qNGEw/41/ 根据这个,应该创建一个jquery对话框并附加到 divparent 。但它没有按预期追加,它创建了一个单独的节点并形成了对话框。任何人都可以找出我做错的地方吗?
答案 0 :(得分:2)
对话框实际上是附加到#divparent1
。
问题似乎是它的立场是绝对的。
尝试将#divparent
的位置更改为absolute
再次应用此修复:
$("#" + dynDiv.id).dialog({
modal: true,
appendTo: "#divparent1",
show: "puff",
hide: "explode",
resizable: true,
closeOnEscape: false,
minWidth: 200,
minHeight: 150,
position: { my: "left top", of: "left top"}
});
您可以在此处查看结果:http://jsfiddle.net/qNGEw/46/