我有一個我想要綁定拖放事件的頁面。我希望瀏覽器中的整個頁面成爲放置目標,因此我將事件綁定到document
對象。但是,我的應用程序的內容通過AJAX加載到主要內容區域,並且我只希望在上載頁面當前可見時這些事件處理程序處於活動狀態。只有在事件處理程序尚不存在的情況下,如何綁定事件處理程序?
現在,我在檢索上傳頁面時綁定事件處理程序;但是,每當上傳頁面變爲活動狀態時,它會綁定一個新的事件處理程序,這會導致處理程序在用戶轉到上載頁面,離開並返回時多次觸發。我想我可以解決這個問題,如果我可以讓處理程序綁定,只有當它尚未綁定。這是可能的,還是我忽略了一個更好的選擇?
相關的代碼,如果它可以幫助:你綁定新的
$(document).bind('dragenter', function(e) {
e.stopPropagation();
e.preventDefault();
}).bind('dragover', function(e) {
e.stopPropagation();
e.preventDefault();
}).bind('drop', function(e) {
e.stopPropagation();
e.preventDefault();
self._handleFileSelections(e.originalEvent.dataTransfer.files);
});
的[jQuery的,如果元素上存在檢查事件]可能重複(http://stackoverflow.com/questions/1515069/jquery-check-if-event-exists-on-元素) – dgw 2012-07-23 14:37:05