Почему при клике на кнопку происходит событие 2 раза?

(function($) {

  Drupal.behaviors.postsComments = {
    attach: function (context, settings) {

      $('.icon_comments').bind('click', function(){
        var nids = $(this).closest('.mainlist-item').attr('about').split('/');
        nid = nids[nids.length - 1];
        if (!$(this).attr('data-comments')){
          $.post(Drupal.settings.basePath + 'lk/comments', {'nid': nid}, nodeDetails);
               $(this).attr('data-comments', true).addClass('open');
        }else{
          $(this).toggleClass('open');
        }   
      });

    }
  };

......

})(jQuery);
  • Вопрос задан
  • 161 просмотр
Пригласить эксперта
Ответы на вопрос 3
andead
@andead
друпал девелопер, фрилансер
Пользуйтесь once, context и читайте документацию:

$('.icon_comments', context).once().bind('click'
Ответ написан
Комментировать
@vshvydky
сделай return false после своего кода, возможно у тебя есть второе событие или есть вложенность .icon_comments
Ответ написан
Комментировать
@amutylo
Я иногда делаю так на вашем примере.
$('.icon_comments').unbind('click').click(function(){ ....

получается один клик
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы