2011-04-07 76 views
2

我想要一个总是在父页面前面的javascript/jQuery弹出窗口(子页面),就像Facebook的当前图片查看功能一样。如何使弹出窗口始终位于顶部?

它将被用户点击关闭按钮关闭。

我已经试过如下:

mywindow = window.open ("DownloadForm.aspx", "mywindow","location=1,status=1,scrollbars=1, width=350,height=150"); 
mywindow.moveTo(350, 350); 

这段代码成功父页面的面前打开一个子页面,但jQuery代码($(#测试)。点击())上的父页面导致父页面始终在前面。

我试过把window.open()代码放在$(#test).click()后面,但是没有解决问题。

$(#test).click()是必要的,因此我需要有一个解决方法。

我感谢任何帮助,提前谢谢。

+0

[类似的问题(http://stackoverflow.com/questions/3838944/make-child-window-always-on-top - 父窗口) – diEcho 2011-04-07 05:55:42

+0

如果弹出窗口可以打开父页面的“内部”,你可以用'{{jQuery UI对话框](http://jqueryui.com/demos/dialog/) modal:true}' - 这将打开一个伪子窗口并将原始页面变灰,并保持对话框在最上面直到关闭。尝试谷歌搜索[jQuery的灯箱](https://encrypted.google.com/search?q=jquery+lightbox),我也认为这些也适用于此,虽然我从来没有用过它们自己...祝你好运! – 2011-04-07 05:58:32

+0

我认为SO的重点是回答问题并教育用户和开发人员。弹出窗口是90多岁。它们应该由灯箱或模态窗口取代。现代浏览器支持通过CSS或jQuery创建的模式窗口。 – Ciprian 2015-04-20 11:25:57

回答

0

我确定你无法控制窗口的顺序。为什么不使用lightbox javascript插件进行调查,而不是弹出式窗口(通常并且通常被浏览器屏蔽)。他们通常是自由,时尚和工作良好的。

+0

这就是Facebook在做什么 – 2011-04-07 05:55:46

+0

Facebook使用自己的Javascript API和模块框库。只需Google的“lightbox javascript”或“javascript模式对话框”,您就可以找到许多可下载的脚本。选择一种适合你需要的东西。 – 2011-04-07 05:56:40

+0

是的,我的意思是Facebook没有在同一页面中使用弹出窗口。 – 2011-04-07 05:58:01

2
myWindow.focus() 

许多现代浏览器阻止这种方式工作,但它是唯一的方法。

1

使用按照您在弹出的打开页面的JavaScript代码

<body onblur="self.focus();"> 
相关问题