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