JQuery и AJAX проблема - PullRequest
       2

JQuery и AJAX проблема

1 голос
/ 19 декабря 2010

Я использую jquery и AJAX.

У меня есть несколько div с идентификаторами, такими как id = "apple-23", id = "apple-45" и ...

У меня естьнекоторый код jquery, подобный следующему:

 $("[id^=apple]").click(function(){
     elid = $(this).attr('id').split("-");
     pid = elid[1];
     alert(pid);
 });

код хорошо работает для этих элементов div.

, но ajax также возвращает аналогичные элементы div с похожим шаблоном id, например id = "apple-61" и т. д... но код jquery не работает для этих div, созданных с помощью ajax.

почему это так?и как я могу решить это?

Ответы [ 2 ]

5 голосов
/ 19 декабря 2010

Проблема в том, что вы связываете событие до того, как элементы существуют.

Вместо этого используйте live (при условии, что вы используете jQuery 1.3 +):

$("[id^=apple]").live("click", function(){
     elid = $(this).attr('id').split("-");
     pid = elid[1];
     alert(pid);
 });
3 голосов
/ 19 декабря 2010

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

Если у этих элементов есть общий родительский элемент, более эффективно использовать .delegate() вместо .live() (см. здесь ).

$("#divContainer").delegate("[id^=apple]", "click", function(){
     elid = $(this).attr('id').split("-");
     pid = elid[1];
     alert(pid);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...