我使用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)...
我做错了什么?即,如何修复此问题以跨浏览器工作?
答案 0 :(得分:1)
问题在于这一行:
$newWindow.html(content);
在将元素添加到弹出窗口之前,您需要克隆该元素。否则,您将删除原始元素并将其移动到新位置。
$newWindow.html(content.clone());