JQuery дублирует javascript для документа, используя ajax - PullRequest
0 голосов
/ 11 октября 2011

В левом меню используйте этот скрипт для загрузки новой страницы в div:

$("#button").live('click',function(){
                $("#content")
                .html(ajax_load)
                .load("page.html");
            });

В page.html есть некоторый javascript для добавления некоторых элементов пользовательского интерфейса с помощью ajax (также с jquery).

Когда я щелкаю по одному и тому же левому пункту меню 5 раз (так что div загружается 5 раз), создается впечатление, что javascript в page.html копируется.когда я вызываю функцию в page.html, ее выполняют 5 раз !!

Как это исправить?

Ответы [ 2 ]

0 голосов
/ 11 октября 2011

Если вы используете live () для чего-либо внутри page.html, обработчик событий сохранится, даже если загружен новый page.html, поэтому, вероятно, вы выполняете одно и то же несколько раз.

0 голосов
/ 11 октября 2011

Какие исполнения javascript происходят в "page.html"? Это привязки событий?Если это так, посмотрите на метод .live () и извлеките javascript из вашего файла page.html.Когда элементы page.html попадают в область видимости, они будут правильно обрабатываться привязками в методе live ().

Если вы делаете что-то еще, предоставьте больше контекста.

...