aboutsummaryrefslogtreecommitdiffstats
path: root/ui/jquery.ui.dialog.js
diff options
context:
space:
mode:
authorJörn Zaefferer <joern.zaefferer@gmail.com>2012-12-04 01:17:00 +0100
committerJörn Zaefferer <joern.zaefferer@gmail.com>2012-12-04 01:17:00 +0100
commit9bd44301d36103a951cd9026682b93b7ff0bdd2f (patch)
tree3b2272887ccab331db1713c3c280ad6d1744b424 /ui/jquery.ui.dialog.js
parent1e8baf568365f8edc833439315f76e5efe1ba9b6 (diff)
downloadjquery-ui-9bd44301d36103a951cd9026682b93b7ff0bdd2f.tar.gz
jquery-ui-9bd44301d36103a951cd9026682b93b7ff0bdd2f.zip
Dialog: Refactor _createOverlay and _destroyOverlay to use widget methods and properties.
Diffstat (limited to 'ui/jquery.ui.dialog.js')
-rw-r--r--ui/jquery.ui.dialog.js16
1 files changed, 9 insertions, 7 deletions
diff --git a/ui/jquery.ui.dialog.js b/ui/jquery.ui.dialog.js
index 77392cb19..472d686a2 100644
--- a/ui/jquery.ui.dialog.js
+++ b/ui/jquery.ui.dialog.js
@@ -665,17 +665,19 @@ $.widget("ui.dialog", {
// prevent use of anchors and inputs
// we use a setTimeout in case the overlay is created from an
// event that we're going to be cancelling (see #2804)
- setTimeout(function() {
+ this._delay(function() {
// handle $(el).dialog().dialog('close') (see #4065)
if ( $.ui.dialog.overlayInstances ) {
- $( document ).bind( "focusin.dialog-overlay", function( event ) {
- if ( !$( event.target ).closest( ".ui-dialog").length ) {
- event.preventDefault();
- $( ".ui-dialog:visible:last .ui-dialog-content" ).data( "ui-dialog" )._focusTabbable();
+ this._on( this.document, {
+ focusin: function( event ) {
+ if ( !$( event.target ).closest( ".ui-dialog").length ) {
+ event.preventDefault();
+ $( ".ui-dialog:visible:last .ui-dialog-content" ).data( "ui-dialog" )._focusTabbable();
+ }
}
});
}
- }, 1 );
+ });
}
var $el = this.overlay = $( "<div>" ).addClass( "ui-widget-overlay ui-front" );
@@ -692,7 +694,7 @@ $.widget("ui.dialog", {
}
$.ui.dialog.overlayInstances -= 1;
if ( $.ui.dialog.overlayInstances === 0 ) {
- $( [ document, window ] ).unbind( ".dialog-overlay" );
+ this._off( this.document, "focusin" );
}
this.overlay.remove();
}