проблема с загрузкой страницы в jquery через ajax - PullRequest
0 голосов
/ 02 июля 2010

Я загружаю страницу в div с помощью функции загрузки jquery. Фактическая часть загрузки в порядке. Код выглядит в основном так:

$("div#loadhere").load("newfile.html?" + new Date().getTime());

В newfile.html у меня есть серия div, и у меня есть код, который (для тестирования) отправляет предупреждение при нажатии на div. Это тоже хорошо.

Проблема заключается в следующем: когда я загружаю страницу в div # loadhere и затем выбираю другую страницу для загрузки в тот же div, предупреждающее сообщение появляется дважды. Если я загружаю еще одну страницу, это происходит три раза.

Другими словами, кажется, что jquery (или DOM) не понимает, что предыдущие загрузки исчезли.

Большое спасибо заранее за любую помощь!

Ответы [ 2 ]

1 голос
/ 02 июля 2010

Если я не ошибаюсь, вам нужно использовать jQuery unbind для отмены привязки события.

unbind

Вот похожий вопрос на стеке потока

0 голосов
/ 02 июля 2010

Попробуйте .delegate () - http://api.jquery.com/delegate/

Вы можете привязать обработчик событий к «телу» или аналогичному элементу верхнего уровня и наблюдать за событиями, нацеленными на желаемый элемент.Пример, приведенный на сайте документации, предназначен для таблицы:

$("table").delegate("td", "hover", function(){
    $(this).toggleClass("hover");
});

Таким образом, вы избегаете проблемы множественных связей, с которой вы сталкиваетесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...