2013-05-21 129 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