单击事件不起作用时返回false

时间:2012-10-27 22:06:52

标签: jquery click return anchor preventdefault

知道为什么这段代码不起作用?我花了一个小时搜索和测试一些本来应该是嘲笑的东西!我尝试过返回false和其他答案中建议的其他解决方案,但页面仍然跳到顶部忽略返回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了。

1 个答案:

答案 0 :(得分:2)

尝试:

$('#about a').click(function(e) {
    e.preventDefault();  
    $('.overlay').fadeTo(300, 0.95);
    $('#about-text').fadeTo(300, 1);
     return false;
});

将e.preventDefault()置于顶部将确保事件停止。您的fadeTo函数可能存在运行时错误。