我正在使用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');
});