为什么我的切换失败了

时间:2013-02-13 20:49:37

标签: jquery css

我已经无数次地完成了这件事,我发誓这只是搞砸了我。

使用任何jquery库。

我要做的就是通过链接切换div。

<a href="" id="mGoldNav">Click Me</a> 

这是我的jquery代码

$('#mGoldNav').click(function(){
    $('#module-golden-nav').toggle("slow");
});

在我的网站上,基本上没有发生。我放置了一个alert()并触发,所以click()工作。但切换失败了。

但是在 http://jsfiddle.net/BaQd2/1/ 上你会注意到它只运行一次,但是如果你再次运行,它会给我一个奇怪的错误:{“错误”:“请使用POST请求“}

为什么它会弄乱我的任何想法?

谢谢!

5 个答案:

答案 0 :(得分:1)

在点击回调结束时返回false,以防止浏览器跟踪点击主播的默认行为。

这应该有效:

$('#mGoldNav').click(function(){
    $('#module-golden-nav').toggle("slow");
    return false;
});

DEMO

答案 1 :(得分:1)

因为它是一个锚标记,它会触发默认的回发动作。要使用切换,你必须使用

return false;
像这样:

$('#mGoldNav').click(function(){
     $('#module-golden-nav').toggle("slow");
     return false;
});

答案 2 :(得分:1)

您也可以在链接上添加href属性,例如#http://jsfiddle.net/BaQd2/2/

答案 3 :(得分:1)

a元素用作按钮实际上是个坏主意。但是在您的定义href属性执行不需要的操作,回发。如果你像#(或javascript:void(0))那样改变它,你会得到你想要的东西:

<a href="#" ..

here

答案 4 :(得分:0)

请改为尝试:

$('#mGoldNav').click(function(e){
    e.preventDefault();
    $('#module-golden-nav').toggle("slow");
});