2
我有一個jQuery對話框,我想讓JIT(Just in Time)對我來說,這是迄今爲止最優雅的工作方式,但我花了大約2天的時間在這個錯誤,我不能爲我的生活弄清楚。jquery ui對話框不會「關閉」
我知道它應該工作,因爲在角落裏的X點擊精美的作品
所以。你可以a)幫我解決這個問題或者b)告訴我如何將取消按鈕綁定到X的點擊事件上(當我遇到過這樣的問題時,我已經使用過這個技巧,但是在這個控件上沒有id 。這樣做是爲了死後能找到,而現在很明顯的方式(即我知道如何找到)瀏覽使用父母()層次
$(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');
});
}
按照jQuery UI的文檔'$(本).dialog( 「親密」 )'應該在Cancel中工作。 http://jqueryui.com/demos/dialog/#option-buttons – lucuma
是的,我知道它應該工作,但我強烈懷疑,這是一個覆蓋泡沫事故造成的after-include-lib-some.js(我懷疑它,我把它們全部評論爲一個測試)或一個錯誤(我使用jQuery的3或4版本,它們都似乎遭受它),即錯誤作爲派生的事實,我將div添加到DOM – conners
我有一個思考,它必須是因爲$('#dialog')實際上被替換爲一些幕後邏輯,所以現在有2:$('#old-dialog-div-now-替換那個行動存在在')和一個「讓我來處理這個」$('#dialog'),這實際上是一個替代品在...內以及以某種方式準備事件*替換* $('對話')使用不正確配對成爲$(this)時,當你追加的div我的方式...因此(如果我的猜測這裏是正確的)「that」工作,因爲它是* shell的一部分* div的事件 – conners