HTML5 Canvas 中的 CreateJS / Animate CC 中的事件侦听器不断增加
event listeners ever multiplying fires in CreateJS / Animate CC in the HTML5 Canvas
动画 CC,HTML5 Canvas。我有一个带有多个点击退出的动画,用于 twitter、facebook 等。动画有一个重复按钮。在第一次播放时,当我单击推特退出时,只打开一个推特页面,在第二次播放中,我单击相同的退出按钮,它会打开两个推特页面,(如此循环往复。如果我点击重复 50 次如果能打开 50 个推特页面 :))。
这是第 342 帧中的一个代码片段:
root.twBtn.addEventListener("click", fl_MouseOverHandler_2.bind(this));
var frequency = 3;
stage.enableMouseOver(frequency);
function fl_MouseOverHandler_2(){
window.open(clickTag1, "_blank");
}
我尝试在同一帧上删除事件侦听器(在重播功能中),但我仍然遇到同样的事情,每次点击标签 1 等被触发时 windows 的 +1 打开重播广告。我怎样才能解决这个问题?我不确定事件侦听器是否真的被删除,或者发生了什么。
// Replay
root.reBtn.on("click", function(evt){
root.twBtn.removeEventListener("click", fl_MouseOverHandler_2);
root.gotoAndPlay("start");
});
基本上每次我重放动画时,我的听众都会触发 +1 次。我尝试了 here 解决方案,但它在我的情况下不起作用。我该如何解决这个问题?
好的,我解决了。
我在 Animate CC Frame 1 (createjs's frame 0)
上添加了 root.x = 1;
,横幅从 Animate CC Frame 2 (createjs's frame 1)
重播(所以它从不播放帧 root.x
原来是再次定义),我关闭了下面的事件监听器代码,包装在 if
语句测试 root.x
中。它对我有用。
if (root.x === 1){
root.twBtn.on("click", function(evt){
window.open(clickTag1, "_blank");
y=y+1;
})
};
动画 CC,HTML5 Canvas。我有一个带有多个点击退出的动画,用于 twitter、facebook 等。动画有一个重复按钮。在第一次播放时,当我单击推特退出时,只打开一个推特页面,在第二次播放中,我单击相同的退出按钮,它会打开两个推特页面,(如此循环往复。如果我点击重复 50 次如果能打开 50 个推特页面 :))。
这是第 342 帧中的一个代码片段:
root.twBtn.addEventListener("click", fl_MouseOverHandler_2.bind(this));
var frequency = 3;
stage.enableMouseOver(frequency);
function fl_MouseOverHandler_2(){
window.open(clickTag1, "_blank");
}
我尝试在同一帧上删除事件侦听器(在重播功能中),但我仍然遇到同样的事情,每次点击标签 1 等被触发时 windows 的 +1 打开重播广告。我怎样才能解决这个问题?我不确定事件侦听器是否真的被删除,或者发生了什么。
// Replay
root.reBtn.on("click", function(evt){
root.twBtn.removeEventListener("click", fl_MouseOverHandler_2);
root.gotoAndPlay("start");
});
基本上每次我重放动画时,我的听众都会触发 +1 次。我尝试了 here 解决方案,但它在我的情况下不起作用。我该如何解决这个问题?
好的,我解决了。
我在 Animate CC Frame 1 (createjs's frame 0)
上添加了 root.x = 1;
,横幅从 Animate CC Frame 2 (createjs's frame 1)
重播(所以它从不播放帧 root.x
原来是再次定义),我关闭了下面的事件监听器代码,包装在 if
语句测试 root.x
中。它对我有用。
if (root.x === 1){
root.twBtn.on("click", function(evt){
window.open(clickTag1, "_blank");
y=y+1;
})
};