0

我已经做过无数次了,我发誓这只是在惹我生气。

使用任何 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 请求” }

任何想法为什么它惹我?

谢谢!

4

5 回答 5

1

您也可以在href链接的属性中添加一些内容,例如#. http://jsfiddle.net/BaQd2/2/

于 2013-02-13T20:54:21.287 回答
1

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

这应该有效:

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

演示

于 2013-02-13T20:52:11.647 回答
1

由于它是一个锚标签,它将触发其默认的回发操作。要使用切换,您必须使用

return false;

像这样:

$('#mGoldNav').click(function(){
     $('#module-golden-nav').toggle("slow");
     return false;
});
于 2013-02-13T20:53:33.023 回答
1

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

<a href="#" ..

在这里

于 2013-02-13T21:01:11.957 回答
0

试试这个:

$('#mGoldNav').click(function(e){
    e.preventDefault();
    $('#module-golden-nav').toggle("slow");
});
于 2013-02-13T20:55:17.630 回答