Tôi có trình xử lý ràng buộc loại trực tiếp sử dụng plupload để kéo và thả và tải lên ajax.Knockout ràng buộc xử lý chức năng teardown?
Để sử dụng tập lệnh plupload, tôi tạo một thể hiện của plupload mà lần lượt là trình lắng nghe sự kiện ràng buộc với các phần tử DOM.
Điều đó hoạt động tốt.
Tuy nhiên, tôi có danh sách "thư mục" và khi tôi nhấp vào một thư mục tôi hiển thị danh sách tệp trong thư mục đó. Tôi tái sử dụng các phần tử DOM tương tự cho điều này bằng cách liên kết selectedFolder(). Các tài liệu sử dụng foreach.
Vấn đề tôi có là trong trình xử lý ràng buộc của tôi, tôi làm tất cả các công cụ plupload trong hàm init và vì tôi sử dụng lại các phần tử DOM mà chúng có nhiều trình xử lý sự kiện. Điều này làm cho các sự kiện kéo và thả được gửi đến các trình xử lý alla. Điều này có nghĩa là nếu tôi thả một tệp trên danh sách tệp được hiển thị, sự kiện thả sẽ kích hoạt trên tất cả danh sách tệp được hiển thị trước đó.
Điều tôi đang tìm kiếm là một số chức năng dọn dẹp hoặc dọn dẹp trong trình xử lý liên kết, để tôi có thể hủy đăng ký tất cả các sự kiện bất cứ khi nào danh sách tệp bị hủy (có phải là từ không?).
Có lẽ chúng tôi không thể phát hiện được việc bỏ hàng? Làm thế nào sau đó tôi sẽ xử lý này? Tôi không muốn có một trường hợp toàn cầu, vì điều đó sẽ ngăn cản tôi sử dụng sự ràng buộc trên nhiều địa điểm cùng một lúc.
Xin lỗi vì không cung cấp cho bạn bất kỳ mã nào. Tôi đang trên điện thoại di động của tôi.
Chúc mừng!
Điều đó chắc chắn sẽ giải quyết được sự cố của tôi. Đáng tiếc là nó không được gọi là đầu hàng mặc dù. Cảm ơn RP! –
Nếu bạn đang trộn lẫn với các thư viện khác thực hiện thao tác DOM của riêng mình (phổ biến trong các ứng dụng trang đơn) thì bạn có thể muốn xem xét cách tiếp cận jQuery bên dưới, kích hoạt cho bất kỳ việc loại bỏ DOM nào (không chỉ các trình kích hoạt loại bỏ). Hữu ích nếu bạn đã tham khảo jQuery. –