Javascript 更新窗口时不会触发已注册事件onunload
我的以下代码已经在运行:Javascript 更新窗口时不会触发已注册事件onunload,javascript,html,javascript-events,Javascript,Html,Javascript Events,我的以下代码已经在运行: popups[uuid] = window.open(url, popupConf[type].target, popupConf[type].string); popups[uuid].focus(); $(popups[uuid]).load(function() { $(popups[uuid]).unload(function() { Stream.video.stop(uuid); }); }); 我在函数Stream.vid
popups[uuid] = window.open(url, popupConf[type].target, popupConf[type].string);
popups[uuid].focus();
$(popups[uuid]).load(function() {
$(popups[uuid]).unload(function() {
Stream.video.stop(uuid);
});
});
我在函数Stream.video.play(url,popupConf)中有它我在某些链接上使用事件调用的代码>。一切正常,但问题是如果我这样做:
Stream.video.play('a',{ /* conf */});
然后
Stream.video.play('a',{ /* conf */});
再说一次,它没有发挥应有的作用。。。它只执行一次事件卸载
代码的两次执行都有相同的目标,因此窗口会按其应该的方式更新。这一点很重要,因为我会在窗口打开后注册其他内容,而在卸载窗口(即关闭或其中的数据更改)后,这些内容应该取消注册
提前感谢你的帮助
编辑1:这就是我遇到的问题:
<a id="click">Click me</a><br />
<a id="otherClick">Click me</a>
$(function() {
var myWindow;
$('#click, #otherClick').click(function() {
myWindow = window.open("about:blank","test","resizable=0,location=0,toolbar=0,height=150,width=150");
$(myWindow).load(function() {
$(myWindow).unload(function() {
alert("closed");
});
});
});
});
你的两个孩子这。。。然后语句是相同的?@JaredFarrish Yeap,只是内部创建的uuid不同。但是,如果点击的按钮是相同的,或者是其他的,那么应该是相同的。。。问题是事件没有执行两次。也就是说:一旦我点击第二个链接(或执行第二行“then”行),卸载事件就会被触发,但一旦我关闭该窗口,第二个事件就不会被触发…@JaredFarrish查看我的更新:换句话说,当你点击第一个链接时,保持窗口打开,然后点击第二个链接,除非窗口本身关闭,否则不会触发任何unload
。@JaredFarrish问题是,窗口关闭时不会触发。。。你看我的例子了吗?按照以下步骤操作:单击第一个链接,单击第二个链接(它将触发onunload
事件),再次单击任何链接或关闭窗口,它将再次触发相同的事件,但不会发生。。。