单击“防止默认后传播”

时间:2014-08-22 17:49:12

标签: jquery

我试图在导航菜单上使用jQuery。当网址为"#"时,它将滚动到锚点。当它不在主页上时,它将添加#和锚点详细信息并进行重定向。我试图抓住一个特定的导航项目,#34;联系",并且抓住它很好,但是当我处理它时,就好像连续两次点击了联系人一样。

因此,例如在下面的代码中,我得到警告" Woo!"连续两次,幻灯片切换打开并关闭目标div,而不是根据状态打开或关闭。

$('#menu-home li a').click(function(event) {
  var target = $(this).attr('href');
  if (target == 'http://#') {
    event.stopPropagation();
    event.preventDefault();

    var scrlto = $(this).attr('title');
    if (window.location.href == homeurl) {

      $('html,body').animate({
        scrollTop: $('#' + scrlto + "-anchor").offset().top - 90
      }, 500, function() {
        if (scrlto == "Contact") {
          $('.contactform').slideToggle(400);
        }
      });


    } else {
      window.location.href = homeurl + '#' + scrlto + "-anchor";
    }
  }

});

1 个答案:

答案 0 :(得分:2)

如果您希望它停止传播,请使用event.stopPropagation();