2009-09-07 8 views
5

Tworzę nowe elementy < li> z funkcją kliknięcia live(), ale jquery nie powie mi indeksu nowo utworzonych elementów. Oto kod:Wyszukiwanie indeksu elementu w funkcji na żywo

$esl = $('.dynamicLink'); 
    $esl.live('click',function(){ 
     var dynamicIndex = $esl.index(this); 
     alert(dynamicIndex); 
    }); 

Ilekroć klikam dynamiczne łącze, zwraca "-1" jako indeks. Jakieś sugestie?

Odpowiedz

7

Ponieważ w celu przypisania zdarzeń do przyszłych elementów używa się delegowania zdarzeń, należy wywołać index na aktualnej liście elementów. Wypróbuj to:

$esl = $('.dynamicLink'); 
$esl.live('click',function(){ 
    var dynamicIndex = $('.dynamicLink').index(this); 
    alert(dynamicIndex); 
}); 
Powiązane problemy