Close jQuery UI dialog non-modal v2

Close a non-modal jQuery UI dialog by clicking anywhere outside the dialog

by jasonday

HTML

<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/start/jquery-ui.css">
<div id="dialog">Your non-modal dialog</div>
<a href="#" id="open">Open dialog</a>

JavaScript

$('#open').click(function() {
    $('#dialog').dialog('open');
    closedialog = 0;
});

var closedialog;

function overlayclickclose() {
    if (closedialog) {
        $('#dialog').dialog('close');
    }

    //set to one because click on dialog box sets to zero 
    closedialog = 1;
}

$('#dialog').dialog({
    autoOpen: false,
    open: function() {
        closedialog = 1;
        $(document).bind('click', overlayclickclose);
    },
    focus: function() {
        closedialog = 0;
    },
    close: function() {
        $(document).unbind('click');
    },
    buttons: {
        Submit: function() {
            $(this).dialog('close');
        }
    }
});