Ticket #8172 (closed bug: fixed)
Dialog: Change event cancelled when opening modal dialog from another modal dialog
| Reported by: | kyle.davis | Owned by: | |
|---|---|---|---|
| Priority: | minor | Milestone: | 1.10.0 |
| Component: | ui.dialog | Version: | 1.8.18 |
| Keywords: | modal | Cc: | |
| Blocking: | Blocked by: |
Description
When opening a modal dialog from a change event on an existing modal dialog, the change event is cancelled.
Change History
comment:3 Changed 7 months ago by petersendidit
- Status changed from new to open
- Summary changed from Change event cancelled when opening modal dialog from another modal dialog to Dialog: Change event cancelled when opening modal dialog from another modal dialog
If we can handle this in the dialog rewrite we should other wise this seems like an edge case that is pretty hard to handle.
comment:5 Changed 7 months ago by Nate Eagle
- Status changed from open to closed
- Resolution set to fixed
Dialog: Awesome new stacking and overlay implementation. Fixes the following tickets:
Fixes #3534 - Dialog: Modal dialog disables all input elements on page. Fixes #4671 - Dialog: Modal Dialog disables vertical scroll bar in Chrome & Safari. Fixes #4995 - Dialog: Modal Dialog's overlay dissapears in IE when content is tall. Fixes #5388 - Dialog: Don't change z-index when already at the top. Fixes #5466 - Dialog: "modal" Dialog Incorrectly Cancels Input Events. Fixes #5762 - Dialog: Get rid of z-index workaround, document it instead. Fixes #6267 - Dialog: checkboxes that inherit a z-index < jqueryui.dialog z-index don't work. Fixes #7051 - Dialog: modal prevents tab key from moving focus off slider handle. Fixes #7107 - Dialog: Modal dialog event loss with high zindex child elements (FF 3.6). Fixes #7120 - Dialog: Modal operation interrupts drag drop marker functionality on gmaps. Fixes #8172 - Dialog: Change event cancelled when opening modal dialog from another modal dialog. Fixes #8583 - Dialog: Mouse event wrongly stopped. Fixes #8722 - Dialog: Remove stack option. Fixes #8729 - Dialog: Remove zIndex option.
Changeset: 3829a37ca122e923c3a08b964c4b1a946a2a1456


I guess this is a bug, maybe...
You're opening a modal dialog during the change event. The change event has not yet finished, but the new modal dialog now has focus, which means that any and all events that occur outside of the dialog will be cancelled.
We do explicitly prevent this from happening for the first modal dialog that is opened, but I'm not sure we can really handle this elegantly. We'd need a flag to signify that the modal event handler should ignore the event and set that on open and unset it with a delay. I don't think this is worth looking at until we can determine if .ui-front is a viable solution to the modal functionality.
FWIW, this is horrible UX.