我有一個knockout綁定處理程序,它使用plupload進行拖放和ajax上傳。敲除綁定處理程序的拆卸函數?
要使用plupload腳本創建plupload而這又是綁定事件監聽器的DOM元素的一個實例。
這工作正常。
不過,我有「文件夾」列表,當我點擊一個文件夾我顯示該文件夾中的文件列表。我通過使用foreach綁定selectedFolder()。文件來重複使用相同的DOM元素。
我的問題是,在我的結合處理我做我的所有東西plupload在初始化函數,因爲我重用的DOM元素,他們得到綁定到這些多個事件處理程序。這會導致拖放事件發送給alla處理程序。這意味着,如果我在渲染的文件列表上放置文件,那麼drop事件也會在所有以前渲染的文件列表上觸發。
我正在尋找的是綁定處理程序中的某種拆卸或清理功能,以便我可以在文件列表變爲無格式時取消註冊所有事件(是一個字嗎?)。
也許我們無法檢測到無約束力?那我將如何處理呢?我不希望有一個全局實例,因爲這會阻止我同時在多個地方使用綁定。
對不起,沒有給你任何代碼。我在我的手機atm。
乾杯!
這絕對能解決我的問題。可惜它並沒有被稱爲不屈不撓。謝謝RP! – 2012-04-25 22:38:38
如果您正在與其他自己進行DOM操作的庫混合(在單頁應用程序中常見),那麼您可能需要考慮下面的jQuery方法,該方法會觸發任何DOM刪除(而不僅僅是由淘汰賽觸發的)。如果您已經參考了jQuery,這很有用。 – 2013-06-12 16:03:46