添加e.preventDefault();禁用锚行为破坏功能

时间:2014-06-24 00:03:55

标签: jquery

我很难过,因为它看起来很简单。我接受了这个功能:

$('#nav-link-1').click(function(){
     $('#nav-pulldown-div-1').slideToggle();
});

...并将其更改为此(与我见过其他人禁用锚点的默认行为一致):

$('#nav-link-1').click(function(e){
    e.preventDefault();
    $('#nav-pulldown-div-1').slideToggle();
});

......它完全停止了工作。 (当点击链接时,nav-pulldown-div-#divs应切换到视图。)我仍然不太熟悉JQuery,所以我只能想象我忽略了一些简单的事情。

编辑:这是JSFiddle:http://jsfiddle.net/GrByz/2/

我知道奇怪的是只有链接2和3,但在设计中有这样的原因。

3 个答案:

答案 0 :(得分:1)

在你的jsFiddle的第12行

你有这个:

$('#nav-link-3')click(function(e) {

如果您通过在. ...

之前添加click来更正该语法
$('#nav-link-3').click(function(e) {

然后似乎工作正常:http://jsfiddle.net/GrByz/3/

答案 1 :(得分:0)

enter image description here

这是因为没有ID值为nav-link-1

的元素

答案 2 :(得分:0)

小提琴上有拼写错误。您在

中缺少.
$('#nav-link-3').click(function(e) {
    $('#nav-pulldown-div-3').slideToggle();
    e.preventDefault();
});