Can a JavaScript modal dialog be modal only to the tab and not to the whole browser window?

StackOverflow https://stackoverflow.com/questions/287242

  •  08-07-2019
  •  | 
  •  

Question

Modern browsers have multi-tab interface, but JavaScript function window.showModalDialog() creates a modal dialog that blocks all of the tabs.

I'd like to know if there is a way to create a modal dialog that blocks only the tab it's been created in?

Was it helpful?

Solution

You could use one of the more 'Ajax-like' modal dialogs, which are just absolute positioned divs, floating on top of everything else.

Those are modal to the 'document' and not the browser.

For instance take a look it this jQuery plugin

P.S. showModalDialog() is an IE only call, so you might want to not use that altogether.

OTHER TIPS

Nope. It's conceivable IE8's ‘loose coupling’ might behave like this at some point, but it doesn't in the current betas.

I second Michiel's recommendation. A pseudo-modal-dialogue working by obscuring the rest of the page, floating a div on top, and calling the script back when it's finished, is both:

  • much more usable/less annoying than a real modal dialog
  • compatible with any browser

showModalDialog/showModelessDialog themselves are generally to be avoided.

Firefox 3 supports window.showModalDialog (but it also blocks all tabs).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top