我注意到,我可以從不同的按鈕/鏈接打開多個標籤。 :)如何檢查是否多個對話是jQuery的開放?
我想要做的是能夠打開只有當打開沒有其他對話框的對話框。
我可以使用一個if語句並檢查每個有附加對話框的id,但是我的頁面中有很多這樣的對象。
我需要一些表達王,if (a dialog id open) {do not open $(this) dialog}
或open $(this)dialog only if no other dialog is open
。
我注意到,我可以從不同的按鈕/鏈接打開多個標籤。 :)如何檢查是否多個對話是jQuery的開放?
我想要做的是能夠打開只有當打開沒有其他對話框的對話框。
我可以使用一個if語句並檢查每個有附加對話框的id,但是我的頁面中有很多這樣的對象。
我需要一些表達王,if (a dialog id open) {do not open $(this) dialog}
或open $(this)dialog only if no other dialog is open
。
您可以使用對話框上的isOpen
方法來檢查,如果它是開放與否。例如:
if(!$(".selector").dialog("isOpen")) {
// the dialog .selector is closed, you can open another one
}
更新:
如果你想打開一個之前關閉任何其他打開的對話框中,可以借道,它可以記住打開另一個之前需要關閉功能的所有對話框打開操作。
在此示例中,在打開指定的對話框之前調用openDialog
將關閉其他任何打開的對話框,並調用closeDialog
將關閉當前活動的對話框。
function closeDialog() {
}
function openDialog(selector) {
closeDialog();
$(selector).dialog("open");
closeDialog = function() {
$(selector).dialog("close");
};
}
例子中的「污染」與closeDialog
和openDialog
功能window
對象,但可以適當地重構,如果你想要的。
感謝響應, 但如果我有10個對話框,我將不得不檢查.selector1和.selector2和.selector3和.selector4 ....是開放的,然後全部關閉,並打開一個我需要......? ?? – Patrioticcow 2011-03-28 22:25:33
@Patrioticcow:檢查更新:) – Jon 2011-03-28 22:32:19
OK,讓我們這個現實: 我有這樣的: '$( 「#EDIT1」).live( 「點擊」,函數(){ $( 「#edit_dialog1」) .dialog(「open」); \t \t \t return false; \t \t}); \t \t $( 「#EDIT2」).live( 「點擊」,函數(){ $( 「#edit_dialog2」).dialog( 「開放」); \t \t \t返回FALSE; \t \t}); \t \t $( 「#EDIT3」)。生活( 「點擊」,函數(){ $( 「#edit_dialog3」).dialog( 「開放」); \t \t \t返回FALSE; \t \t});' 現在我已經將所有這些對話框在'closeDialog()'函數中關閉。然後在'openDialog()'中調用它們? – Patrioticcow 2011-03-28 22:49:40
如何簡單地
if(!$('.ui-dialog').is(":visible")) {
//some stuff in here
}
似乎很容易做的伎倆?
只是說... :)
試試這個:
如果{
($( 「#對話框的保存」)的數據( 「對話」)._ ISOPEN!)。
}
你使用什麼對話框? jQuery的用戶界面? – amosrivera 2011-03-28 22:10:40