我正在尝试获取jQuery UI模式对话框中的按钮,以关闭自身并打开另一个模式对话框。
问题是,第二个对话框在打开时将始终打开,没有您期望从模式对话框中获得的屏幕覆盖,因此您仍然可以在模式对话框后面的屏幕上单击。
jQuery如下
$(function () {
$("#DialogSelectEventType").dialog({
modal: true,
autoOpen: true,
width: 400
});
$("#DialogCreateToDo").dialog({
model: true,
autoOpen: false,
width: 450
});
$("#btnCreateToDo").click(function (e) {
$("#DialogSelectEventType").dialog({ close: function (e, ui) {
$("#DialogCreateToDo").dialog("open");
}}).dialog("close");
});
});
我还尝试将处理程序更改为
$("#btnCreateToDo").click(function (e) {
$("#DialogSelectEventType").dialog("close");
$("#DialogCreateToDo").dialog("open");
});
这也没什么帮助
这是jsFiddle
有人能帮我解释一下为什么会发生这种情况吗?这是一个bug,还是我做错了什么?
发布于 2013-05-28 23:53:59
您的代码中有一个拼写错误,在第二个对话框定义中,您有“模型:真”,而它应该是“model:真”。
$(function () {
$("#DialogSelectEventType").dialog({
modal: true,
autoOpen: true,
width: 400
});
$("#DialogCreateToDo").dialog({
modal: true,
autoOpen: false,
width: 450
});
$("#btnCreateToDo").click(function (e) {
$("#DialogSelectEventType").dialog({ close: function (e, ui) {
$("#DialogCreateToDo").dialog("open");
}}).dialog("close");
});
});
试试这个:http://jsfiddle.net/tzKf7/3/
希望能有所帮助。
发布于 2013-05-28 22:42:41
将.dialog定义移动到单击处理程序中就可以做到这一点。
$("#btnCreateToDo").click(function (e) {
$("#DialogCreateToDo").dialog({
model: true,
autoOpen: true,
width: 450
});
});
https://stackoverflow.com/questions/16802619
复制相似问题