【发布时间】:2012-04-25 21:42:20
【问题描述】:
我有一个淘汰绑定处理程序,它使用 plupload 进行拖放和 ajax 上传。
为了使用 plupload 脚本,我创建了一个 plupload 实例,该实例又将事件侦听器绑定到 DOM 元素。
效果很好。
但是,我有一个“文件夹”列表,当我单击一个文件夹时,我会显示该文件夹中的文件列表。我通过使用 foreach 绑定 selectedFolder().documents 来重用相同的 DOM 元素。
我遇到的问题是,在我的绑定处理程序中,我在 init 函数中完成了所有的 plupload 工作,并且由于我重用了 DOM 元素,它们获得了多个绑定到它们的事件处理程序。这会导致将拖放事件发送到所有处理程序。这意味着如果我在渲染文件列表中放置一个文件,drop 事件也会在所有之前渲染的文件列表上触发。
我正在寻找的是绑定处理程序中的某种拆卸或清理功能,这样我就可以在文件列表未呈现时取消注册所有事件(这是一个词吗?)。
也许我们无法检测到未渲染?那我该如何处理呢?我不希望有一个全局实例,因为这会阻止我同时在多个地方使用绑定。
很抱歉没有给你任何代码。我在手机自动取款机上。
干杯!
【问题讨论】: