Инициализировать плагин после $ .load (изменил DOM - PullRequest
0 голосов
/ 18 декабря 2011

У меня есть что-то вроде этого,

$("a[rel^='prettyPhoto']").prettyPhoto({
    theme: 'light_square'
});

но тогда я использую $('.menu').click(function() { $('#content').load(page); });

Как инициализировать плагин после загрузки страницы, чтобы он работал с новым загруженным html?

Спасибо

Ответы [ 2 ]

1 голос
/ 18 декабря 2011

jquery document.ready выполняется, когда DOM полностью загружен

http://api.jquery.com/ready/

Пример

$(function(){
  //Whatever code you want to execute after the page is loaded
})

Если вы хотите, чтобы функция была прикреплена к элементам, которые вы загружаете в DOM с помощью ajax, вы можете использовать live или на в зависимости от версии jquery

Если вы используете версию jquery меньше 1.7, используйте live

$('.menu').live("click",function(){
 //Do whatever you want
});

Если вы используете, jquery 1.7 или +, используйте на

$('body').on("click",".menu",function(){
 //do whatever you want
});
0 голосов
/ 18 декабря 2011

.load () принимает обратный вызов в качестве второго параметра, который запускается при загрузке страницы:

$('.menu').click(function() { 
    $('#content').load(page, function() {
        $("a[rel^='prettyPhoto']").prettyPhoto({
                theme: 'light_square'
        });
    });
});
...