mirror of
https://github.com/jquery/jquery-ui.git
synced 2025-01-07 20:34:24 +00:00
Dialog: Set the _isOpen flag immediately in open(). Fixes #8958 - Dialog: Double ui-widget-overlay when opening modal dialog triggers an event opening same dialog.
This commit is contained in:
parent
85dfcdf766
commit
62cda1f95d
@ -193,6 +193,35 @@ test("#6137: dialog('open') causes form elements to reset on IE7", function() {
|
|||||||
d1.remove();
|
d1.remove();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
asyncTest( "#8958: dialog can be opened while opening", function() {
|
||||||
|
expect( 1 );
|
||||||
|
|
||||||
|
var element = $( "<div>" ).dialog({
|
||||||
|
autoOpen: false,
|
||||||
|
modal: true,
|
||||||
|
open: function() {
|
||||||
|
equal( $( ".ui-widget-overlay" ).length, 1 );
|
||||||
|
start();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$( "#favorite-animal" )
|
||||||
|
// We focus the input to start the test. Once it receives focus, the
|
||||||
|
// dialog will open. Opening the dialog, will cause an element inside
|
||||||
|
// the dialog to gain focus, thus blurring the input.
|
||||||
|
.bind( "focus", function() {
|
||||||
|
element.dialog( "open" );
|
||||||
|
})
|
||||||
|
// When the input blurs, the dialog is in the process of opening. We
|
||||||
|
// try to open the dialog again, to make sure that dialogs properly
|
||||||
|
// handle a call to the open() method during the process of the dialog
|
||||||
|
// being opened.
|
||||||
|
.bind( "blur", function() {
|
||||||
|
element.dialog( "open" );
|
||||||
|
})
|
||||||
|
.focus();
|
||||||
|
});
|
||||||
|
|
||||||
test("#5531: dialog width should be at least minWidth on creation", function () {
|
test("#5531: dialog width should be at least minWidth on creation", function () {
|
||||||
expect( 4 );
|
expect( 4 );
|
||||||
var element = $("<div></div>").dialog({
|
var element = $("<div></div>").dialog({
|
||||||
|
2
ui/jquery.ui.dialog.js
vendored
2
ui/jquery.ui.dialog.js
vendored
@ -215,6 +215,7 @@ $.widget( "ui.dialog", {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this._isOpen = true;
|
||||||
this.opener = $( this.document[0].activeElement );
|
this.opener = $( this.document[0].activeElement );
|
||||||
|
|
||||||
this._size();
|
this._size();
|
||||||
@ -226,7 +227,6 @@ $.widget( "ui.dialog", {
|
|||||||
that._trigger("focus");
|
that._trigger("focus");
|
||||||
});
|
});
|
||||||
|
|
||||||
this._isOpen = true;
|
|
||||||
this._trigger("open");
|
this._trigger("open");
|
||||||
},
|
},
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user