我有一个jquery对话框,我想制作JIT(Just in Time)这对我来说,是迄今为止最优雅的工作方式,但我已经花了大约2天坚实的这个错误,我不能为我的生活想通了。
我知道它应该有效,因为角落里的X点击效果非常好
因此。你可以a)帮我解决这个问题,或者b)告诉我如何将取消按钮绑定到X的点击事件(我曾经在遇到过这样的问题之前使用过这个技巧,但是这个控件上没有id我可以找到,现在明显的方式(我知道如何找到)使用parents()浏览层次结构。
$(function() {
var popUrl = 'pop.php?jscriptpopup=true';
$("#button").click( function () {
JQueryDialog(popUrl);
return false;
});
});
var dialog; //<--added in desperation
function JQueryDialog(url){
$("#dialog").remove();
$("body").append("<div id='dialog'></div>");
dialog = $("#dialog").dialog({
resizable: false,
draggable: false,
width: 770,
height: 470,
context: that,
modal: true,
autoOpen: false,
buttons: {
"Cancel" : function (){
$(dialog).("close"); //<--this will not work
//$(this).dialog("close"); <<-- hopeless
//$("#dialog").dialog("close"); <<-- hopeless
//$("#dialog").remove(); <<-- hopeless
}
}
});
$.get(url, function(data) {
$("#dialog").html(data);
$("#dialog").dialog('open');
});
}
答案 0 :(得分:2)
这有效..不知道为什么
function JQueryDialog(url){
$("#dialog").remove();
$("body").append("<div id='dialog'></div>");
that = $("#dialog");
dialog = $("#dialog").dialog({
resizable: false,
draggable: false,
width: 770,
height: 470,
context: that,
modal: true,
autoOpen: false,
buttons: {
"Cancel" : function (){
that.dialog("close");
}
}
});
$.get(url, function(data) {
$("#dialog").html(data);
$("#dialog").dialog('open');
});
}