如何解决JavaScriptRemoveEventListener不工作的问题?

浏览 22关注 0回答 2得票数 0
原文

有下面的代码来添加EventListener

 area.addEventListener('click',function(event) {
              app.addSpot(event.clientX,event.clientY);
              app.addFlag = 1;
          },true);

在另一个函数中,使用以下代码删除事件侦听器

 area.removeEventListener('click',function(event) {
              app.addSpot(event.clientX,event.clientY);
              app.addFlag = 1;
          },true);
原文
用户62696261500d6提问于2018-07-31 02:06

2 个回答

高票数最新
用户6269626169a45
回答于2018-07-31 10:45已采纳
得票数 0

首先定义事件处理程序,

然后

area.addEventListener('click',handler);
area.removeEventListener('click',handler);
用户6269626169a4f
回答于2018-07-31 11:27已采纳
得票数 0

你正在两个调用中创建两个不同的函数,因此,第二个函数与第一个函数没有任何关系,并且引擎能够删除该函数

var handler = function(event) {
              app.addSpot(event.clientX,event.clientY);
              app.addFlag = 1;
          };
area.addEventListener('click', handler,true);

可以通过调用以下代码

area.removeEventListener('click', handler,true);
页面原文内容由用户62696261500d6、用户6269626169a45、用户6269626169a4f提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:https://stackoverflow.com/questions/-100005874复制

扫码关注腾讯云开发者

领取腾讯云代金券