У меня есть сайт/приложение jQueryMobile, в котором производительность является проблемой. Я читаю много о том, как разумно не связывать слишком много отдельных обработчиков. Так что если у вас есть страница с большим количеством кнопок, совет, чтобы связать как это ...Могу ли я улучшить производительность jQuery, объединив все события одного типа в один обработчик?
$(document).on('click',function(){
if (this = $('#button1')){
//Handler for button one
} else if (this = $('#button2') {
//etc
} else //etc
})
... а не как это ...
$('#button1').click(function(){
//Handler for button one
})
$('#button2').click(function(){
//Handler for button two
})
//etc
Так что я интересно насколько это действительно полезно.
Что делать, если я сделал один слушатель для всех событий 'pageshow' в моем документе? (веб-сайт jQueryMobile представляет собой единый документ, содержащий много страниц, и многие из этих страниц нуждаются в небольшом количестве показов).
Что делать, если я сделал один клик для всех сорока с лишних кнопок в документе и использовал обработчик, чтобы отличить, с какой кнопкой мы имеем дело, и что нужно сделать в ответ?
Почему бы не запустить несколько тестов на JSPerf? – j08691
«jQueryMobile ... производительность - проблема» jQueryMobile - это раздутая часть дерьма, которая замедляет ваш сайт на порядок. Используйте DOM прямо – Raynos