Jquery 单击事件不起作用时返回false
你知道为什么这个代码不起作用吗?我花了一个小时来搜索和测试一些本来应该很简单的东西!我尝试了return-false和其他答案中建议的其他解决方案,但页面仍然跳转到顶部,忽略return-false。怎么了Jquery 单击事件不起作用时返回false,jquery,click,return,anchor,preventdefault,Jquery,Click,Return,Anchor,Preventdefault,你知道为什么这个代码不起作用吗?我花了一个小时来搜索和测试一些本来应该很简单的东西!我尝试了return-false和其他答案中建议的其他解决方案,但页面仍然跳转到顶部,忽略return-false。怎么了 $('#about a').click(function(e) { $('.overlay').fadeTo(300, 0.95); $('#about-text').fadeTo(300, 1); e.preventDefault(); }); 编辑:这是关
$('#about a').click(function(e) {
$('.overlay').fadeTo(300, 0.95);
$('#about-text').fadeTo(300, 1);
e.preventDefault();
});
编辑:这是关于a的html。脚本中元素的语法可能有问题
<div class="projects" id="about"><a href="#">About</a></div>
编辑2:经过广泛的搜索、反复尝试,我找不到这一点的原因;不行。我决定删除#about div中的#锚定链接,并直接在div上应用he函数,这当然可以正常工作,因为它不再有href了 试试看:
$('#about a').click(function(e) {
e.preventDefault();
$('.overlay').fadeTo(300, 0.95);
$('#about-text').fadeTo(300, 1);
return false;
});
将e.preventDefault()置于顶部将确保事件停止。fadeTo函数可能存在运行时错误 或者为它制作一个JSFIDLE,或者省去麻烦,用firebug调试它。你使用的是什么浏览器?一切似乎都按预期运行:尝试将
e.preventDefault()
放在函数的顶部作为第一项。查看HTML结构并根据脚本确保一切正常,在这种情况下,放置e.preventDefault()
不是问题,以战利品为例,我们多次要求您设置JSFIDLE或演示页面。您看到的结果是由其他原因造成的。如果上面的fadeTo中也存在运行时错误,则实际上永远不会返回false。尝试了此操作,但无效。这一页仍在顶部。我甚至用css事件替换了fadeTo操作。但还是没有变化。