Как мы все знаем, с тех пор как jQuery 1.7:
$('someSelector').live('click', fn());
стал, по сути,:
$(document).on('click', 'someSelector', fn());
Все живые события не привязаны напрямую к элементам в селекторе, но делегат привязан к документу.
Я предполагаю, что это связано с тем, что элементы, которые будут соответствовать 'someSelector'
в будущем, отсутствуют в DOM, поэтому обработчики событий не могут быть привязаны (посредством прямой или делегированной привязки ).
Для одностраничных приложений, где подавляющее большинство, если не все элементы, загружаются динамически, существуют ли опубликованные рекомендации о том, как лучше решить проблему производительности с привязкой всего к документу?
Охватывает, например, лучший способ зарегистрировать/повторно -зарегистрировать обработчики событий, когда новый контент загружается через ajax()
и как обновить код, написанный в ленивом .live()
мышлении?