У меня есть обработчик привязки нокаута, который использует plupload для перетаскивания и загрузки ajax.
Чтобы использовать plupload script, я создаю экземпляр plupload, который, в свою очередь, связывает прослушиватели событий с элементами DOM.
Это прекрасно работает.
Однако у меня есть список "папок", и когда я нажимаю папку, я показываю список файлов в этой папке. Я повторно использую те же элементы DOM для этого, привязывая selectedFolder(). Документы, используя foreach.
Проблема заключается в том, что в моем обработчике привязки я делаю все свои файлы plupload в функции init, и, поскольку я повторно использую элементы DOM, они получают несколько связанных с ними обработчиков событий. Это приводит к тому, что события перетаскивания передаются всем обработчикам. Это означает, что если я удаляю файл в списке отображаемых файлов, событие drop также запускается во все ранее отображенные списки файлов.
То, что я ищу, - это какая-то функция разрывов или очистки в обработчике привязки, чтобы я мог отменить регистрацию всех событий всякий раз, когда список файлов становится незагруженным (это слово?).
Может быть, мы не можем обнаружить unrendering? Как бы я тогда справился с этим? Я бы предпочел не иметь глобальный экземпляр, поскольку это мешало бы мне использовать привязку в нескольких местах одновременно.
Извините, что не дал вам никакого кода. Я нахожусь на моем мобильном телефоне.
Ура!