У меня есть страница, на которую я хотел бы связать события перетаскивания. Я хотел бы, чтобы вся страница в браузере была целевой точкой, поэтому я привязал свои события к объекту 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);
});