window.open&关闭几次

时间:2014-02-17 21:26:06

标签: javascript jquery

我使用window.open();创建了一个新窗口,我想关闭它。所以我制作了这段代码。

$('#open').on('click', function () {
    var win = window.open("", "", "width=400, height=200");
    $newWindow = $(win.document.body);
    // more code
    $newWindow.find('#close').on('click', function () {
        win.close(); // just works once
    });
});

它在FF中运行良好,在Chrome中只运行一次(关闭按钮停止工作),并且在IE11上工作(仅测试v11)...

我做错了什么?即,如何修复此问题以跨浏览器工作?

jsFiddle

1 个答案:

答案 0 :(得分:1)

问题在于这一行:

$newWindow.html(content);

在将元素添加到弹出窗口之前,您需要克隆该元素。否则,您将删除原始元素并将其移动到新位置。

$newWindow.html(content.clone());

更新小提琴:http://jsfiddle.net/XL7LR/10/