Dialog: Use event delegation to cancel events for modal dialogs. Fixes #2807 - dialogUI + modal mode = slow.

This commit is contained in:
Scott González 2009-02-19 02:07:05 +00:00
parent 06a513b753
commit 835cbf1833

View File

@ -524,7 +524,7 @@ $.extend($.ui.dialog.overlay, {
// we use a setTimeout in case the overlay is created from an
// event that we're going to be cancelling (see #2804)
setTimeout(function() {
$('a, :input').bind($.ui.dialog.overlay.events, function() {
$(document).bind($.ui.dialog.overlay.events, function() {
// allow use of the element if inside a dialog and
// - there are no modal dialogs
// - there are modal dialogs, but we are in front of the topmost modal
@ -572,7 +572,7 @@ $.extend($.ui.dialog.overlay, {
this.instances.splice($.inArray(this.instances, $el), 1);
if (this.instances.length === 0) {
$('a, :input').add([document, window]).unbind('.dialog-overlay');
$([document, window]).unbind('.dialog-overlay');
}
$el.remove();