怎么去除监听事件?

我在点击构件的监听事件里面写了自己的回调方法,我想去除它,应该怎么办?

阅读 13k
3 个回答

div.removeEventListener('click', listener, false);

只不过 没有必要。

监听就监听了 怎么样执行可以加附属逻辑

采用事件监听给对象绑定方法后,可以解除相应的绑定,写法如下

 btn.addEventListener("click",someFunciton); 
 btn.removeEventListener("click",someFunciton);

前面两位都说的挺对的。

具体基于BIMFACE的API讲

//增加模型选中的监听事件

viewer.addEventListener(Glodon.Bimface.Viewer.Viewer3DEvent.ComponentsSelectionChanged,adddraw);

//自定义一个回调函数

function adddraw(componentData){

console.log(componentData);

}

//移除选中构件的监听事件,把自定义的回调函数传进去

function deletedraw(){

viewer.removeEventListener(Glodon.Bimface.Viewer.Viewer3DEvent.ComponentsSelectionChanged,adddraw)
viewer.render();

}

必须要把具体的监听函数单独写出来
监听事件是观察者模式,这是要告诉事件发布者,监听事件触发的时候,不要调用之前注册的那个回调函数了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题