2012-01-12 1 views
0

Я использую плагин jCarousel Lite в AJAX загружено содержание: вот (упрощенный) кодjCarousel Lite с AJAX загружен содержанием: .live() перестает работать

HTML:

<div id="#content"> 
    <ul> 
     <li>First Item</li> 
     <li>Second Item</li> 
     <li>ThirdItem</li> 
    </ul> 
    <div id="pager> 
     <a href="#" class="p1">1</a> 
     <a href="#" class="p2">2</a> 
     <a href="#" class="p3">3</a> 
    </div> 
</div> 

JQuery:

$('.ajax').click(function(){ 
    var url = $(this).attr('href'); 
    $('#content').load(url, null, function(response){ 
     if (response != '') { 
      $('#content').jCarouselLite({ 
       visible: 1, 
       scroll: 1, 
       circular: false, 
       btnGo: ['.p1', '.p2', '.p3'] 
      }); 
     } 
    }); 
    return false; 
}) 

Все отлично до сих пор: содержание AJAX загружается в #content, то jCarousel Lite прилагается и и #pager ссылки работают как espected (они просто прокручивать элементы)

Теперь я хотел бы добавить еще кое-что в ссылки #pager (например, добавлять к ним классы или открывать предупреждение или что-то еще): поскольку содержимое загружается AJAX, я использую функцию .live:

$('#pager a').live('click', function(e){ 
    alert('hello!'); 
    $('#pager a').removeClass('selected'); 
    $(this).addClass('selected'); 
}) 

Ну, ничего не происходит!
Если я удалю скрипт jCarousel (строки 5-10 из кода jQuery), все снова работает

Пожалуйста, не могли бы вы помочь? И почему jCarousel перестает работать. Есть ли обходной путь?

Заранее благодарен

ответ

0

Получил!
я узнал, что только #pager ссылки не работали, поэтому я смотрел код jCarousel Lite плагин и измененные строки 264 (jcarousellite_1.0.1.js):

$(val).click... 

С

$(val).live...