快速提问;我应该先使用removeChild()
还是removeEventListener()
?
另外,如果我将对象设置为null
,是否仍需要从该对象中删除事件侦听器?
答案 0 :(得分:3)
“在removeChild之前删除事件侦听器。”
是否采用其他方式会引发错误,完全取决于您正在收听的事件&事件触发后您尝试访问的对象。
但是,尽可能快地删除事件侦听器总是一个好习惯。
例如:如果您需要点击一次按钮&你似乎在点击后禁用了按钮,保持监听器运行是没有意义的。
<小时/> 是的,您需要手动删除所有事件侦听器。但您也可以使用弱事件侦听器:
addEventListener(MouseEvent.CLICK, clicked, false, 0, true);
当对象设置为null时,提示垃圾收集器移除侦听器。
答案 1 :(得分:1)
我应该在removeChild之前删除所有eventListener,还是在eventListener之前删除removeChild。
这些任务是无关的,所以没关系。也就是说,有一些事件是通过删除一个孩子触发的,所以如果你依赖Event.REMOVED_FROM_STAGE
,那么你将要删除事件监听器。
如果我将对象设置为NULL,是否仍需要removeEventListener?
是