невозможно вызвать событие клика с помощью jQuery .trigger - PullRequest
0 голосов
/ 20 июня 2011

У меня возникли проблемы с вызовом события щелчка.

У меня есть html примерно так:

<div class="carousel-control" >
<a href='#' id="carousel_1">1</a>
<a href='#' id="carousel_2">2</a>
<a href='#' id="carousel_3">3</a>
<a href='#' id="carousel_4">4</a>
<a href='#' id="carousel_5">5</a> 
etc
</div>

Теперь вот JS

jQuery('.carousel-control a').bind('click', function() {
        alert("carousel cliced")
        return false;
      });

$('#nextimg').click(function() {

var car_index=2;
                $('#carousel_'+(car_index+1)).trigger('click');
alert("next image clicked");
               return false;
            });

Теперь, когда я вручную нажимаю на тег href, появляется предупреждение ("Карусель нажал"), но когда я нажимаю nextimg, появляется только следующее изображение, а не предупреждение о карусели.

Я пытался использовать

 $('#carousel_2').trigger('click'); 
 $('#carousel_2').click();
 $('#carousel_2').triggerHandler('click');

Кажется, в firebug тоже нет ошибок.

Может кто-нибудь, пожалуйста, помогите мне.:) Спасибо,

Ответы [ 5 ]

2 голосов
/ 20 июня 2011

Я не уверен ... но есть ли шанс, что это связано с вашим написанием index в var car_inedx=2;?(Я часто совершаю подобные ошибки).

0 голосов
/ 15 мая 2014

Сохраните событие клика в разделе «Событие готовности документа».

Вот так:

jQuery(document).ready( function() {
      jQuery('.carousel-control a').bind('click', function() {
         alert("carousel cliced")
         return false;
       });

       $('#nextimg').click(function() {
             var car_index=2;
             $('#carousel_'+(car_index+1)).trigger('click');
             alert("next image clicked");
             return false;
       });
});
0 голосов
/ 20 июня 2011

с помощью

 $('.carousel-control a').bind('click', function()

вместо этого

jQuery('.carousel-control a').bind('click', function()

Хорошо работает.

Но кто-нибудь может мне объяснить, почему так происходит?

0 голосов
/ 20 июня 2011

У вас есть опечатка в var car_inedx.

Рабочая демоверсия: http://jsfiddle.net/rBFxu/

0 голосов
/ 20 июня 2011

Попробуйте

$('#carousel_'+(car_index+1)).click();

вместо

$('#carousel_'+(car_index+1)).trigger('click');
...