1

Это мой код, событие «слайд» внутри вызова AJAX.Событие автозапуска Bootstrap не работает внутри AJAX success

success: function(data) { 
    $('#my_container').html(data); 
    // I am getting' #mycarousel' successfully in to #my_container 
    $('#mycarousel').bind('slid', function(e) { 
     console.log('hi'); 
    } 
    // tried 'slid.bs.carousel' too, no change. 
    // btw, I can see my 'slid' function under event listeners for that element. 
    // when I paste the above binding code in console again it shows the element too. 
}); 

Я хочу напечатать «привет» на консоли на слайд-мероприятии, которое сейчас не работает.

Благодаря

+0

Я просто хочу напечатать «console.log (« привет »); –

+1

вот рабочая скрипка того, что вы спрашиваете: http://jsfiddle.net/faw242a8/ ваша проблема, вероятно, в другом месте кода. Подождите, я вижу, вы загружаете карусель через ajax ... – Luke

ответ

1

Проверьте, есть ли у вас несколько версий библиотек JQuery загруженных в страницу.

Используйте $.fn.jquery, чтобы найти загруженную версию и перекрестите ее с помощью версии jquery, которую вы включили, и увидите, что оба они одинаковы.

+1

Да, это все. Только что проверил, случайно использовал jquery версии 2.2.x дважды (один непосредственно и другой, включенный в другой файл js). Решил мою проблему. –

1

После загрузки карусели динамически, вы должны инициализировать его (как androbin предложил):

$('#my_container').html(data); 

    $("#mycarousel").carousel(); 

    $('#mycarousel').bind('slide.bs.carousel', function (e) { 
     console.log('slide event!'); 
    }); 

    $('#mycarousel').bind('slid', function (e) { 
     console.log("slid event!"); 
    }); 

Здесь вы можете увидеть его работу: http://jsfiddle.net/faw242a8/1/

Убедитесь, что HTML вы втягиваются через ajax, содержит действительную карусель.

Ссылка: Carousel - Bootstrap

+0

Да, когда я проверил свой код, разместив мои html и js в jsfiddle, он работает. Поэтому я думаю, что проблема кроется в другом месте. Спасибо за головы. –

+0

вам обязательно нужно запустить '$ (" # mycarousel "). Carousel();' после загрузки карусели динамически. Попробуйте это, прежде чем искать в другом месте. – Luke

+0

пробовал это, но без изменений :( –