Надеюсь, это еще не спрошено, я ничего не нашел через Google, и мне действительно интересно. Вчера я столкнулся с ошибкой. Мой код выглядит следующим образом:Есть ли недостатки при использовании «.on»?
$(".button").click(function(){
//Do something!
});
Проблема заключалась в том, что класс .button
был загружен через AJAX позже, так что это событие не было никогда огня. Я решил его с этим подходом:
$("body").on("click", ".button", function() {
//Do something!
});
Так со вчерашнего дня, я думаю о том, что преимущества первого подхода (за исключением нескольких символов меньше). Неправильно ли прикрепить всех обработчиков к телу и уволить их только по определенным элементам? Или есть какая-то причина, почему я не должен использовать .on()
все время, которое может сломать мой код?
это может помочь http://stackoverflow.com/questions/16086785/is-there-an-advantage-to-using-jquerys-onmouseenter-function-over – Richlewis
Использование '.on' или использование * [Event Delegation] (http://learn.jquery.com/events/event-delegation/)*? Пожалуйста, уточните заголовок и теги. – user2864740
Соответствующая документация: http://api.jquery.com/on/#direct-and-delegated-events говорит, что это лучше, чем массивный '.on' /' .off' – thriqon