点按功能会在元素上触发一次

时间:2019-07-17 15:12:20

标签: jquery

我正在使用jQuery代码,它使用touch事件来模拟触摸设备的点击,该事件隐藏一个元素(如intro = excerpt)并显示另一个元素(完整信息)。

问题是此点击只起作用一次-我点击以隐藏/显示元素,然后关闭该元素并想再次点击,它什么也没做。当我点击另一个元素-隐藏/显示时,我可以再次单击第一个,但不能单击最后一个。

我无法弄清楚为什么水龙头只能在此元素上触发一次,除非点击了其他元素。

$('.home-box-excerpt').on('click touchstart', function(e) {
  "use strict";
  if ($(this).hasClass('home-box-wrapper-touced')) {
    $(this).parents('.home-box-wrapper').find('.home-box-info').hide();
    $(this).parents('.home-box-wrapper').find('.home-box-excerpt').fadeIn("slow");
    $('.home-box-wrapper').removeClass('home-box-wrapper-touced');
    return true;
  } else {
    $(this).parents('.home-box-wrapper').find('.home-box-info').fadeIn("slow");
    $(this).parents('.home-box-wrapper').find('.home-box-excerpt').hide();
    $(this).addClass('home-box-wrapper-touced');
    $('.home-box-wrapper').not(this).removeClass('home-box-wrapper-touced');
    e.preventDefault();
    return false;
  }
});


$('.home-box-info-close').click(function() {
  $(this).parents('.home-box-info').hide();
  $('.home-box-excerpt').fadeIn("slow");
  $(this).parents('.home-box-wrapper').removeClass('home-box-wrapper-hovered');
  $(this).parents('.home-box-wrapper').removeClass('home-box-wrapper-touced');
});

0 个答案:

没有答案