Javascript 为什么可以';我不能专注于歌剧吗?

Javascript 为什么可以';我不能专注于歌剧吗?,javascript,Javascript,不知道我做错了什么。在父窗口中,我有: $(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=

不知道我做错了什么。在父窗口中,我有:

    $(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>
然后在子窗口中,我有:

    $(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>

var窗口和焦点;
$(窗口).focus(函数(){
窗口焦点=真;
})
.blur(函数(){
窗口焦点=假;
});
$(文档).one('ready',function(){
setInterval(function(){$('body').append('has focus?'+window_focus+'
);},1000); });
检查孩子的穹窿。“未定义”是我从孩子那里得到的

我做错了什么?

试试:

$(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;
    });

首先,在这段代码中
setTimeout('new-window.focus()',1)
,我没有看到任何定义为
new window
的变量,我认为这甚至可能不是合法的javascript,因为你不能在变量名中使用破折号。那么应该有什么呢?我不知道,因为你没有显示HTML或解释你想要关注的HTML中的哪个元素。那么就说主体吧。关注子窗口的主体。这是我需要帮助的语法。我还注意到这可能只是Opera的一个问题,所以我需要跨浏览器语法。只是Opera拒绝这样做吗?我找到了一个解决我问题的不同方法,但谢谢你尝试一下。标记为答案…@mobilestimulus-将答案标记为不起作用的最佳答案不是堆栈溢出的正确用法。你应该用有效的答案做出你自己的答案,并记下那个答案。