jQuery onClick не работи върху основния елемент

Опитвам се да добавя и премахвам onclick клас от елемент.

Но функцията ми не работи, защото добавя класа само ако се щракне върху дъщерните елементи и премахне този клас само ако се щракне върху родителския.

Искам да преместя елемента .card-header.swipeable, за да покажа елемента .swipe-actions и да щракна отново, за да го скрия.

JS FIDDLE

jQuery(document).ready(function($){
  //slide the contact
  $('.card-header.swipeable').on('click', function(event){
    event.preventDefault();
    $(this).addClass('swipe-left');
  });
  //close the contact
  $('.card-header.swipeable').on('click', function(event){
    if( $(event.target).is('.card-header.swipeable') ) { 
      $('.card-header.swipeable').removeClass('swipe-left');
      event.preventDefault();
    }
  });
});

person filippo90    schedule 10.09.2015    source източник


Отговори (2)


Проверете този код

$('.card-header.swipeable').on('click', function(e){
    e.preventDefault();

    if( $('.card-header.swipeable').hasClass('swipe-left') ) { 
      $('.card-header.swipeable').removeClass('swipe-left');
    }else{
        $(this).addClass('swipe-left');
    }

  });
person Vinod Murukesan    schedule 10.09.2015

Можете просто да направите това с toggleClass:

$('.card-header.swipeable').on('click', function(e) {
    $(this).toggleClass('swipe-left');
    e.preventDefault();
})
person Iamzozo    schedule 10.09.2015
comment
Уау, това работи страхотно! има ли начин да го накарам да се превежда малко бавно? - person filippo90; 10.09.2015