Javascript jQueryUI启用关于关闭对话框窗口的链接

Javascript jQueryUI启用关于关闭对话框窗口的链接,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我正在开发jQueryUI对话框,供参考。如果您在单击关闭窗口(对话框)时观察到,则不会启用链接,但应根据相对窗口关闭启用链接。如何将关闭对话框窗口与相应的链接联系起来并再次启用它 $(function() { function opener(params){ var _params = params; for (var obj in _params){ dialogOpener(_params[obj]);

我正在开发jQueryUI对话框,供参考。如果您在单击关闭窗口(对话框)时观察到,则不会启用链接,但应根据相对窗口关闭启用链接。如何将关闭对话框窗口与相应的链接联系起来并再次启用它

$(function() {

    function opener(params){
        var _params = params;
            for (var obj in _params){
                dialogOpener(_params[obj]);
            }
        function dialogOpener(selector){
            $('#'+selector.linkSelector).on('click', function(ev){
                ev.preventDefault();
                ev.stopPropagation();
                var url = $(this).attr('href');
                if ($(ev.target).hasClass('disabled')) {
                        return false;
                } else{
                    $('#'+selector.moduleSelector).dialog({width: 800, position: 'top'}).load( url);
                    $(this).addClass('disabled');
                }
            });
        }
    }
    opener([
      { linkSelector: 'google', moduleSelector: 'googleModule'},
      { linkSelector: 'facebook', moduleSelector: 'facebookModule'},
      { linkSelector: 'yahoo', moduleSelector: 'yahooModule'},
      { linkSelector: 'gmail', moduleSelector: 'gmailModule'}
    ]);
});

尝试添加在初始化重新启用链接的对话框时在对话框关闭时触发的事件。例如,您的dialogOpener函数可以如下所示:

function dialogOpener(selector){
    $('#'+selector.linkSelector).on('click', function(ev){
        ev.preventDefault();
        ev.stopPropagation();
        var url = $(this).attr('href');
        var selected = $(this);
        if ($(ev.target).hasClass('disabled')) {
                return false;
        } else{
            $('#'+selector.moduleSelector).dialog({
                width: 800, 
                position: 'top', 
                close: function(event,ui) { 
                    selected.removeClass('disabled'); 
                }
            }).load( url);
            selected.addClass('disabled');
        }
    });
}
JSFiddle:

关闭事件的jQuery对话框API: