JavaScript模式对话框可以仅对选项卡进行模态,而不是整个浏览器窗口吗?

时间:2008-11-13 15:29:28

标签: javascript modal-dialog

现代浏览器具有多标签界面,但JavaScript函数window.showModalDialog()会创建一个模式对话框,用于阻止所有标签。

我想知道是否有办法创建一个模块对话框,只阻止它创建的标签?

3 个答案:

答案 0 :(得分:8)

你可以使用一个更像'类似Ajax'的模态对话框,这些对话框只是绝对定位的div,浮动在其他所有东西之上。

这些是“文档”的模态,而不是浏览器。

例如,看看this jQuery plugin

P.S。 <{1}}是仅限IE的呼叫,因此您可能不想完全使用它。

答案 1 :(得分:2)

不。可以想象,IE8的“松散耦合”在某些时候可能会表现得像这样,但它在目前的测试版中并不存在。

我是米歇尔的第二个推荐。伪模式对话通过模糊页面的其余部分,将div浮动到顶部,并在脚本完成时调用脚本来完成,都是:

  • 比真实的模态对话更有用/更烦人
  • 与任何浏览器兼容

showModalDialog / showModelessDialog本身通常是要避免的。

答案 2 :(得分:1)

Firefox 3 supports window.showModalDialog(但它也会阻止所有标签)。