Запуск JavaScript при добавлении его в HTML страницы - PullRequest
1 голос
/ 22 мая 2009

У меня есть контент на веб-странице, который и отправляется с сервера при загрузке страницы, и часто обновляется через AJAX. Когда он загружается изначально, я использую $ (function () {}) для привязки и обновления на основе новостей с сервера. Я хочу также иметь возможность запускать код при его повторном заполнении, в частности перепривязывать события щелчка и обновлять новости с сервера.

Есть ли способ сделать это без разделения $ .getScript? Я несколько смущен тем, как работает javascript при заполнении экрана через AJAX ($ ('el'). Html (...)), потому что я часто использую это с включенным javascript, и это работает. Кто-нибудь может прояснить, как это работает?

Ответы [ 2 ]

2 голосов
/ 22 мая 2009

С событиями jQuery, если вы хотите, чтобы событие применялось к новым элементам, вы бы использовали метод .live () .

Однако jQuery 1.3 не поддерживает размытие, фокусировку, ввод мыши, отпускание мыши, изменение и отправку событий как живых событий. (изменение, отправка и размытие / фокус находятся на дорожной карте для jQuery 1.4)

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

2 голосов
/ 22 мая 2009

Связывать события на вновь добавленных узлах DOM (Ajax или иным образом), используя live .

Ваши включенные скрипты будут работать, когда вы добавите их в DOM.

См. пример .

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