Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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?

like image 431
z-boss Avatar asked Nov 13 '08 15:11

z-boss


2 Answers

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.

like image 168
Michiel Overeem Avatar answered Sep 28 '22 00:09

Michiel Overeem


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.

like image 44
bobince Avatar answered Sep 27 '22 22:09

bobince