2014-02-14 65 views
-1

不知道我在這裏做錯了什麼。在父窗口中,我有:爲什麼我不能專注於Opera?

$(document).ready(function() { 
     $('a.new-window').click(function(){ 
      var posY = ($(window).height()-550)/2; 
      var posX = ($(window).width())/2; 
      window.open(this.href, this.alt, "toolbar=0,location=0,directories=0,scrollbars=1,screenX="+posX+",screenY="+posY+",status=0,menubar=0,width=550,height=550"); 
      setTimeout('new-window.focus()', 1); 
      return false; 
     }); 
and so on..... 

然後子窗口中的我:

<script type="text/javascript"> 
var window_focus; 

$(window).focus(function() { 
    window_focus = true; 
}) 
    .blur(function() { 
     window_focus = false; 
    }); 

$(document).one('ready',function() { 
setInterval(function() { $('body').append('has focus? ' + window_focus + '<br>'); }, 1000); 
}); 
</script> 

檢查孩子forcus。 「未定義」是我從孩子那裏得到的。

我做錯了什麼?

+1

對於初學者來說,在此代碼'的setTimeout( '新window.focus()的',1);',我看不出有任何變量定義稱爲'新window'我認爲這可能不是合法的JavaScript,因爲你不能在變量名中使用短劃線。 – jfriend00

+0

那裏應該有什麼? – mobilestimulus

+0

我不知道,因爲你不顯示你的HTML或解釋你想要關注的HTML中的元素。 – jfriend00

回答

1

嘗試:

$(document).ready(function() { 
    $('a.new-window').click(function(){ 
     var posY = ($(window).height()-550)/2; 
     var posX = ($(window).width())/2; 
     var new_window = window.open(this.href, this.alt, "toolbar=0,location=0,directories=0,scrollbars=1,screenX="+posX+",screenY="+posY+",status=0,menubar=0,width=550,height=550"); 
     setTimeout(function() { 
      new_window.focus(); 
     }, 1); 
     return false; 
    }); 
+0

不是。它只是Opera拒絕這樣做嗎? – mobilestimulus

+0

我發現了一個與我的問題不同的工作,但感謝您試一試。標記爲答案.... – mobilestimulus

+0

@mobilestimulus - 這是不正確的使用堆棧溢出標記答案作爲最佳答案,不起作用。你應該用自己的工作做出自己的回答,並將其標記出來。 – jfriend00