2013-05-21 169 views
0

我想在用戶點擊後臺頁面的其餘部分時關閉查詢ui模式框。點擊關閉模式框

我加入這個片段要做到這一點,但它不工作:

$('.ui-widget-overlay').on("click", function() { 
    //Close the dialog 
    $(this).find(".dialog").dialog("close"); 
}); 

Example

+0

請加頁面代碼,爲什麼你在使用(this)查詢? –

+1

@DoryZidon只是好奇,但在查詢中使用(this)有什麼問題?我以前用過它。然而,如果這會導致負面表現,我不知道我可能會重新組合我什麼時候以及多久使用(this)在我自己的代碼中... – War10ck

+0

這是js有很多含義..可能會很棘手,但我認爲jQuery給你你點擊的元素,但是我會在之前測試它。像警告this.tagName看看會發生什麼.. –

回答

1
$('body').on('click','.ui-widget-overlay', function() { 
    $('.ui-dialog').filter(function() { 
    return $(this).css("display") === "block"; 
    }).find('.ui-dialog-content').dialog('close'); 
}); 

DEMO

這工作...發現here