У меня есть сайт, который полностью управляется ajax. Когда страница загружается, страница никогда не загружается полностью, если она не обновляется. У меня есть несколько различных приложений, работающих на этом сайте, и я использую .on() для добавления обработчиков событий на уровне документа, но их следует применять только тогда, когда на этом сайте используется определенное приложение. Чтобы избежать насыщения сайта ненужными обработчиками событий, им интересно, есть ли побочные эффекты использования $ (document) .off(), когда пользователь переключает приложения. Это должно очистить все события, которые я связал, прежде чем присоединять новые. Я просто хочу удостовериться, что я не отказался от чего-то, о чем я не знаю.
ответ
Вы можете использовать событие jQuery namespaces. Чтобы добавить события в $ (документ), используйте имя приложения в качестве пространства имен, а затем удалите все из них, используя одно и то же пространство имен.
Например, если вы вы приложение под названием «APPA», и вы хотите добавить обработчик событий для серии событий:
$(document).on('resize.appA', function() { });
$(document).on('anotherEvent1.appA', function() { });
$(document).on('anotherEvent2.appA', function() { });
Теперь, чтобы удалить все события приложения на документе просто использовать:
$(document).off('.appA');
btw - это будет работать только на события, непосредственно добавленные в документ, а не на детей. Если вы хотите повлиять и на детей, привяжите события к $ (документу) и используйте делегирование событий, чтобы повлиять на детей. Таким образом, вы можете сразу удалить все события приложения.
Я пришел к тому же выводу всего несколько минут назад. Отличный ответ спасибо! –
Добро пожаловать. Межсетевое совпадение событий jQuery было спасательной жизнью бесчисленных раз :) –
- 1. off() в jQuery для временного события off
- 2. jquery off not working
- 3. jquery disable document function
- 4. Функция jquery click off
- 5. $ (document) .off() не удаляет какие-либо события из документа
- 6. jQuery off canvas not working
- 7. Почему `$ (document) === $ (document)` возвращает false в jQuery?
- 8. Что такое jQuery (document) vs. $ (document)
- 9. jquery toggle cut off iframe
- 10. JQuery off-line configuration
- 11. Jquery .off все обработчики
- 12. Jquery off функция щелчка?
- 13. jQuery Off Screen Nav
- 14. On/Off Нажмите JQuery
- 15. JQuery toggle tablerow on/off
- 16. Имеет ли $ (document) .off ('. Data-api') эквивалент «on»?
- 17. jquery animate left percent off
- 18. $ (document) .ready + jQuery + понимать
- 19. $ (document) .ready с jQuery
- 20. jQuery AJAX document trigger?
- 21. JQuery: Rebind $ (document) .Ready()
- 22. Повторение JQuery $ (document) .ready();
- 23. JQuery Mobile $ (document) .ready();
- 24. Jquery document ready
- 25. jQuery (document) .on ('click.classname' .......)?
- 26. jQuery $ (document) .keydown() issues
- 27. jquery document ready issue
- 28. jQuery document ready function
- 29. jquery off() используя этот объект в цепочке
- 30. Функция jQuery - off() и on() внутри обработчика
никоим образом не знать, что вы можете или не можете отменить в своем приложении ... это ваш код, и мы не можем его увидеть – charlietfl
Чтобы уточнить, я хочу отменить абсолютно все, что я связал. Я просто хочу быть уверенным, что я не отменяю то, что jQuery связывает с документом при его инициализации. –
Ничего не повлияет на ядро jQuery. Любые подключаемые модули должны оцениваться индивидуально, хотя – charlietfl