【发布时间】:2012-10-17 18:17:33
【问题描述】:
知道为什么这段代码不起作用吗?我已经花了一个小时搜索和测试一些本应简单可笑的东西!我已经尝试使用 return false 和其他答案中建议的其他解决方案,但页面仍然跳到顶部忽略 return false。怎么了?
$('#about a').click(function(e) {
$('.overlay').fadeTo(300, 0.95);
$('#about-text').fadeTo(300, 1);
e.preventDefault();
});
编辑:这是#about a 的html。可能是脚本中元素的语法有问题?
<div class="projects" id="about"><a href="#">About</a></div>
编辑 2: 经过大量搜索、反复试验,我找不到为什么这不起作用。我决定从#about div 中删除#anchor 链接并直接在div 上应用他的功能,这当然可以正常工作,因为它不再有href。
【问题讨论】:
-
要么为它制作一个 jsfiddle,要么为自己省去麻烦并用 firebug 调试它。
-
你用的是什么浏览器?一切似乎都按预期工作:jsfiddle.net/Kxv5Y
-
尝试将
e.preventDefault()作为函数中的第一项放在顶部。 -
查看您的 HTML 结构并确保一切都符合您的脚本,在这种情况下,放置
e.preventDefault()不是问题,请在 jsFiddle 示例中寻找。 -
我们已经多次要求您设置 jsFiddle 或演示页面。 Your code, exactly as you've posted it, works perfectly fine. 其他原因导致您看到的结果。
标签: jquery click return anchor preventdefault