我希望JQuery停止将我的加载div内容绑定到一个奇怪的位置

时间:2012-05-24 15:44:58

标签: javascript-events jquery

我有一个快速的JQuery问题(好吧,我希望它很快!)我一直在梳理论坛,无法阻止代码捕捉到一个奇怪的滚动位置(我不希望它滚动在所有,只是呆在同一个地方)。我有一种感觉,这是一个简单的修复,但我无法弄清楚!你能救我吗?如果花了太长时间或你不想这样做,我明白了!所有JQuery,CSS和HTML代码都在Tumblr上生效:

http://patriciahighsmith.tumblr.com/quiz

$(document).ready(function()
{
    $('.msg_body:not(:first)').hide();
    $("a.linkclass").click(function()
    {
        $('.msg_body').fadeOut("slow");
        $($(this).attr("href")).fadeIn("slow");
    });
});

2 个答案:

答案 0 :(得分:1)

您应该停止发生默认事件(跟随锚点)。您可以通过调用event.preventDefault()或从事件处理程序(后者will also stop propagation)返回false来执行此操作,因此请小心使用。

$("a.linkclass").click(function(event) {
    $('.msg_body').fadeOut("slow");
    $($(this).attr("href")).fadeIn("slow");

    event.preventDefault();
});

$("a.linkclass").click(function() {
    $('.msg_body').fadeOut("slow");
    $($(this).attr("href")).fadeIn("slow");

    return false;
});

答案 1 :(得分:0)

event.preventDefault()添加到您的点击处理程序:

$("a.linkclass").click(function(e) {
    e.preventDefault();

    $('.msg_body').fadeOut("slow");
    $($(this).attr("href")).fadeIn("slow");
});​

当您点击具有linkclass班级名称的锚点时,问题就出现了,您的浏览器开始导航到它在href属性中设置的网址。