![](/img/trans.png)
[英]How can I bring browser to front/ in focus of all other window or browsers after 3 seconds using jQuery or Javascript?
[英]How to bring focus to a window in jquery?
我試圖使用jquery將焦點帶到窗口。 通過父頁面上的按鈕單擊彈出窗口。 我在子窗口中進行了一些ajax調用,因此數據正在更新。 我的問題是,如果用戶點擊父窗口並隱藏其后面的子項,我想在有數據更新時將該子窗口恢復到最前端。
在$(document).ready中我連接了這些事件:
$(window).blur(function(){
WindowHasFocus =false;
}).focus(function(){
WindowHasFocus =true;
});
然后,如果數據更新,我調用此函數:
function FocusInput(){
if(!WindowHasFocus){
$(window).focus();
}
}
這在IE8中按預期工作,但在FireFox(以及所有其他瀏覽器)中,如果單擊父窗口,Blur事件似乎會觸發。 關於如何實現這一點的任何建議/想法?
更新:
總facepalm時刻:在FireFox中:*工具*選項... *內容選項卡*“啟用JavaScript”旁邊的高級按鈕*選中名為“提升或降低Windows”的框
Total facepalm時刻:在FireFox中:
默認情況下,此功能處於關閉狀態,必須啟用。 此外,我認為,由於它在Chrome中不起作用,Safari會是相同的,但你知道他們對“假設”的看法(它適用於Safari,但不適用於Chrome)。
如果沒有一個強大的理由有兩個單獨的窗口,那么最好使用“模態框”,有很多例子和jquery插件來實現這一點。 這樣一個插件的一個例子: http : //www.84bytes.com/2008/06/02/jquery-modal-dialog-boxes/
你是絕對正確的。 在FF中,似乎它確實觸發了事件,但同時,它似乎沒有將元素注冊為聚焦。 因此,永遠不會觸發模糊事件。 不確定我是否正確地解釋了......以下代碼說明了一切。
在此示例中,默認情況下隱藏該框,但通過焦點事件偵聽器顯示該框。 在IE 8中,如果單擊主窗口,它仍然會觸發模糊,但在FF中它不會:
<html>
<head>
</head>
<body>
<div id="hiddenWin" style="width: 100px; height: 100px; background-color: Black; display: none;"></div>
<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
var something = 12;
something += 4;
$(document).ready(function()
{
$("#hiddenWin").focus(function()
{
$(this).show();
}
).blur(function()
{
$(this).hide();
}
)
$("#hiddenWin").focus();
}
);
</script>
</body>
</html>
根據您的需要,設置疊加背景是否可行? 某個固定位置@ top:0和left:0占據整個屏幕並且z-index小於你的彈出窗口。 這樣,當他們點擊疊加層時,它會竊取焦點,然后你可以隱藏所有內容......? IDK,只是一個建議。 我會一直搞亂,看看能不能搞清楚。 好問題。 +1
看起來你不應該知道什么時候你的窗戶模糊了。 當您的數據更新時,您的窗口要么沒有聚焦,在這種情況下您想要聚焦它,或者它已經聚焦,並且再次聚焦它不會對您造成傷害。
是的,模態的東西可能是要走的路,但有時你只需要按照你想要的方式去做。
我會使用普通的舊JavaScript。 命名窗口並使其成為焦點。
function showImageWindow(imageURL)
{
var imageWindow = window.open(imageURL,"My_Window","width=1000px,height=1000px,menubar=0,titlebar=0,toolbar=0,location=0,scrollbars=0,status=0");
imageWindow.focus();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.