我想在第一个窗口拖动此窗口时关闭第二个窗口。
首先这可能吗?
第二,如果是,那么在哪个事件?
所以我可以在那次活动中做我的愿望。
现在我已经写了这段代码
$(document).on('mouseover', function () {
console.log('done');
});
所以当我在第一个窗口看到另一个窗口时我可以得到这个事件,但是这个事件也没有发生,因为在拖动时拖动窗口激活,这个窗口没有激活。
感谢任何帮助。
由于
答案 0 :(得分:0)
由于您尚未共享任何有关子窗口的代码,因此我可以建议您:
var cwin = window.open()
创建一个子窗口。setInterval()
检查该窗口的位置。$(cwin.parent.document).trigger('mouseover')
cwin.close();
关闭它
醇>
答案 1 :(得分:0)
您必须检查两个窗口的尺寸和位置。下面的代码段在这里不起作用,因为StackOverflow会阻止弹出窗口,所以在其他地方尝试。
var a;
var b;
function openA(){
a = window.open("","w1","width=250,height=150,top=0");
a.document.title = "A";
}
function openB(){
b = window.open("","w2","width=250,height=150,top=200,left=400");
b.document.title = "B";
}
setInterval(function(){
// If both window is not closed
if (a && !a.closed && b && !b.closed){
// If both window overlaps
if (
a.screenX + a.outerWidth > b.screenX &&
a.screenX < b.screenX + b.outerWidth &&
a.screenY + a.outerHeight > b.screenY &&
a.screenY < b.screenY + b.outerWidth
){
b.close();
}
}
},1000);
<button onclick="openA()">Open window A</button>
<button onclick="openB()">Open window B</button>