我有一个组件管理一个视图,其中包含带游戏的arcticles并防止内存过载,如果在新窗口中打开或重新加载当前页面(带有复选框),则每篇文章都花费时间使用for;我创建了这段代码,当用户点击一篇文章(每个人都有“flashgame”类)时,根据用户的选择,它将转到游戏中,或者重新加载当前页面,或者在另一个窗口中打开并播放游戏 这是我的代码:
jQuery(document).on('click', '.flashgame', function () {
console.log(this);
let denom = jQuery(this).find('.urlGame').data('denom');
let val = jQuery(this).find('.urlGame').data('val');
if (denom != "") {
let gamear = denom.toString().split(',');
let orderset: any[] = gamear;
if (orderset.length > 1) {
that.multidenoms = orderset.sort((a, b) => { return a - b; });
that.gameId = val;
console.log("modalflash is showing");
that.modalflash.show();
}
else {
that.goToFlash(val, gamear);
}
}
else {
that.goToFlash(val);
}
});
这是文章:
但出于任何原因,当我在项目中进行此更改时,页面已经累积了点击次数,例如:
硬重装和“点击次数”从零开始,我转到另一页然后返回,点击加1,依此类推。
那么,我该怎么办?,有没有办法防止这种“点击”过载?
答案 0 :(得分:1)
我喜欢做的是在重新绑定事件处理程序之前在.on之前使用.off。 所以像这样:
jQuery(document).off('click', '.flashgame').on('click', '.flashgame', function () { ...