У меня есть набор событий JQuery Я хочу, чтобы выполнить, когда его собственных объектов DOM будут загружать, например:JQuery событие работает только когда весь DOM загружен
$("#div1").on('click',function(){ /* Stuff one*/ }); //#div 1 must exist
$(".div2").on('click',function(){ /* Stuff two */}); //all objects with div 2 class must exist
Следующий код работает, хотя весь DOM является слишком большим (это SPA web) и требует, чтобы подождать некоторое время:
$(function(){
$("#div1").on('click',function(){ /* Stuff one*/ }); //#div 1 must exist
$(".div2").on('click',function(){ /* Stuff two */}); //all objects with div 2 class must exist
});
Я хочу попробовать этот код, но the event .load() is deprecated from jQuery 1.8:
$("#div1").on('load',function(){
$(this).bind('click',function(){ /* Stuff one*/ }); //#div 1 must exist
}
$("#div2").on('load',function(){
$(this).bind('click',function(){ /* Stuff two*/ }); //all objects with div 2 class must exist
}
Кто-нибудь знает, как спровоцировать такой же эффект, используя не устаревший код, пожалуйста? :)
Что делать, если вы используете делегирование не является обязательным? '$ (document) .on ('click', '.div2', ...)'? – zerkms
вы можете пойти в старую школу и включить javascript после всего содержимого прямо перед тегом закрывающего тела или сразу после того, как элемент, который вам нужно загрузить –
'.ready()' вызывается ** после ** '.load() '(когда все изображения DOM были полностью отображены). Я хочу как можно раньше загрузить эти события. – fcortes