使用不同z索引的重复元素上的重复事件



我在ionic on angular项目中使用了一个第三方库(angular- dragable - dropppable)。当ionic缓存页面时,angular组件留在Dom中,但具有较低的z-index值。似乎,当具有不同z索引的同一页面时,onDrop事件被触发两次,每个元素触发一次,因为它们都在dom中。我的问题是:

  1. 当使用第三方库时,我需要确保事件侦听器被正确地从dom中删除吗?
  2. 我怎么做(删除/禁用缓存页面的所有事件监听器)干净。
  3. 是否有任何建议,类似的情况下(我有一个解决方案,我不喜欢,很快在页面上有一个标志(活动),我在钩子IonicDidLeave中设置为false,在每个事件处理程序中,我检查它是否活跃,然后做预期的处理)。
  4. 我需要找到另一个库,处理这种情况吗?

在现代浏览器中,当DOM元素作为垃圾收集过程的一部分被垃圾收集时,事件处理程序将被删除和清理。在你的情况下,因为ionic缓存组件而不是删除,你需要通过javascript的removeListener方法手动删除。

最新更新