У меня есть обработчик привязки нокаута, который использует plupload для перетаскивания и загрузки ajax.Функция разблокировки дескриптора нокаута?
Чтобы использовать скрипт plupload, я создаю экземпляр plupload, который, в свою очередь, связывает прослушиватели событий с элементами DOM.
Это хорошо работает.
Однако у меня есть список «папок», и когда я нажимаю папку, я показываю список файлов в этой папке. Я повторно использую те же элементы DOM для этого, связывая selectedFolder() с документами, использующими foreach.
Проблема у меня в том, что в моем обработчике привязки я делаю все свои файлы plupload в функции init, и, поскольку я повторно использую элементы DOM, они получают несколько обработчиков событий, связанных с ними. Это приводит к тому, что события перетаскивания передаются всем обработчикам. Это означает, что если я удаляю файл в списке отображаемых файлов, событие drop также запускается во все ранее отображенные списки файлов.
Что я ищу - это какая-то функция разрывания или очистки в обработчике привязки, чтобы я мог отменить регистрацию всех событий всякий раз, когда список файлов становится незанятым (это слово?).
Возможно, мы не можем обнаружить отказ? Как бы я тогда справился с этим? Я бы предпочел не иметь глобальный экземпляр, так как это помешало бы мне использовать привязку в нескольких местах одновременно.
Извините, что вы не указали какой-либо код. Я нахожусь на мобильном телефоне.
Cheers!
Это определенно решит мою проблему. Жаль, что он не назывался unrender. Спасибо RP! –
Если вы подключаетесь к другим библиотекам, которые выполняют свои собственные манипуляции с DOM (обычно в приложениях с одной страницей), вам может потребоваться рассмотреть подход jQuery, ниже которого запускаются триггеры для любого удаления DOM (а не только те, которые запускаются нокаутом). Полезно, если вы уже ссылаетесь на jQuery. –