Javascript 为什么单击功能不起作用?
这是我的 显示“.pull\u down\u内容”的“.item”click函数并不总是有效。为什么? 我发现,如果您单击第一个“磁贴”,这将正常工作,并且在打开时单击下一个磁贴仍然正常工作,但是如果您随后返回到原始磁贴,则单击功能停止工作,只有悬停功能正常工作 为什么会这样 这是我的部分代码Javascript 为什么单击功能不起作用?,javascript,jquery,hover,click,toggle,Javascript,Jquery,Hover,Click,Toggle,这是我的 显示“.pull\u down\u内容”的“.item”click函数并不总是有效。为什么? 我发现,如果您单击第一个“磁贴”,这将正常工作,并且在打开时单击下一个磁贴仍然正常工作,但是如果您随后返回到原始磁贴,则单击功能停止工作,只有悬停功能正常工作 为什么会这样 这是我的部分代码 $(this).children('.item').on('mouseenter mouseleave click', function(e) { e.stopPropagation();
$(this).children('.item').on('mouseenter mouseleave click', function(e) { e.stopPropagation();
if ($('.timelineTile').hasClass("clicked")) {
if (!$(this).data('clicked')) {
var Height = e.type==='mouseenter' ? '60px' : e.type==='click' ? '300px' : '0px';
$(this).siblings('.pull_down_content').stop().animate({'height': Height}, 300);
$(this).siblings('.pull_down_content').children('.inner').css({'display': 'block'}, 300);
if (e.type==='click') $(this).data('clicked', true);
}else{
if (e.type==='click') {
$(this).data('clicked', false);
$(this).siblings('.pull_down_content').stop().animate({'height': '0px'}, 300);
$(this).siblings('.pull_down_content').children('.inner').css({'display': 'none'}, 300);
}
} }
});
每次单击“.TimeLineFile”时,您都会在子项上添加额外的单击事件。您应该将上述代码移到“.TimeLineFile”单击事件之外。在重新添加之前,至少要删除现有事件。只是浏览了一下代码,但每次单击
“.TimeLineFile”
,似乎都在为子级添加额外的单击事件。您应该将上述代码移到”之外。TimeLineFile“
单击事件。至少在重新添加之前删除现有事件。啊,真不敢相信这么简单,谢谢!我所发现的唯一一件事是,有时在从一个平铺到另一个平铺之后,“项目”需要单击以获得悬停并单击功能才能工作:这很奇怪@Ziggy31你弄明白了吗?如果没有,让我知道,我会检查你的小提琴。嘿-没有,还是继续吧-这就是我要做的事情-由于某种原因,在多次单击之后-直到你再次单击,悬停/单击才起作用。。这就像上一个磁贴上没有发生回键(高度-0)。不确定,但尝试替换$('.TimeLineFile')。不是(这个)。removeClass('clicked')。查找('.pull_down_content')。高度(0)使用此$('.TimeLineFile')。而不是(此)。removeClass('clicked')。查找('pull_down_content')。高度(0)。end()。查找('.item')。数据('clicked',false)代码>。不是百分之百确定,但试一试。