【发布时间】:2017-05-10 18:18:00
【问题描述】:
在一个简单的游戏应用程序中,我试图向匿名事件回调函数传递一些参数。我只能使用匿名函数来做到这一点,因为它适合上下文(它的范围标识参数)。问题是游戏有重启选项。重新启动后,它会向相同的节点添加新的事件侦听器,在这里您可能会猜到旧的事件侦听器仍然存在,这会导致功能不正确和应用程序过载。我能想到的解决方案是在添加新事件侦听器之前通过删除旧事件侦听器来“刷新”。但是考虑到事件回调函数是匿名的,我找不到任何方法!
那么,有什么替代解决方案呢?
var adder = function(colorBox, num){
colorBox.addEventListener('click', function(){
eventCall(this, num);
});
}
var eventCall = function(t, num){
var clickedBox = t.style.backgroundColor;
....
【问题讨论】:
-
查看此解决方法以从 colorBox 中删除事件侦听器 - stackoverflow.com/questions/19469881/…
-
我试过了..,我猜它有一些缺点..,这使得它根本没有用。
标签: javascript html css callback event-listener