jQuery ajax загружает элементы, автоматически добавляя к ним события? - PullRequest
0 голосов
/ 17 февраля 2012

Мой веб-сайт использует ajax и хэштеги для каждой части навигации, поэтому каждый элемент (кроме основных навигационных частей) загружается через ajax, который разрывает соединения DOM с любыми элементами внутри них (или что бы то ни было в точности) , поэтому я не могу просто иметь что-то подобное в моем javascirpt, и это работает для всего:

$(".chat-wrapper li").draggable();

В настоящее время я должен поместить это в успешную часть моего вызова ajax, поэтому, когда кнопки чата загружены, он добавляет это к ним, и это не единственный мой случай, когда возникает проблема, это происходит во многих случаях, это Это всего лишь мой текущий пример, поэтому мой вопрос в том, что jquery или что-то еще можно обойти? Должен быть какой-то способ сделать это, поэтому любой элемент, вызываемый после начальной загрузки страницы, также работает с ними и со всеми.

спасибо.

1 Ответ

0 голосов
/ 17 февраля 2012

Если вы хотите связать событие с элементом и сохранить его, вы можете посмотреть в функцию jQuery .live().

http://api.jquery.com/live/

Редактировать: послеБеглый взгляд, может показаться, что .on для jQuery 1.7+ (http://api.jquery.com/on/) и .delegate() (http://api.jquery.com/delegate/) для jQuery 1.4.3+) были бы лучшими решениями. Примеры использования для каждой функции есть в ссылках на странице, но вывозможно, смогу использовать его таким образом (я могу ошибаться, поскольку я просто быстро набрал его):

$(".chat-wrapper").delegate("li", "bind", function() {
    this.draggable();
});

В качестве альтернативы:

$(".chat-wrapper li").on("bind", function() {
    this.draggable();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...