流星点击发生两次

时间:2014-12-10 00:56:49

标签: jquery meteor click

我试图通过toggleClass而不是hide / show来改变它的位置来隐藏/显示导航。 (我有我的理由。)

用于显示/隐藏此类内容的标准3 bar导航链接正是位置切换后出现其中一个导航图标的位置。单击导航链接可将导航区域完美地定位到位置,但随后它还会单击出现在该处的图标并直接跳转到与该图标关联的新URL。但我只点击一次。

导航链接位于导航图标下方,通过z-index。

我无法弄清楚如何使用这种语法取消绑定点击,我已经尝试了e.preventDefault和超时以及我发现的其他想法。没有什么工作。

这是我非常简单的js:

Template.header.events({

  'tap #menulink': function(e) {
   e.preventDefault();
   $('nav').toggleClass('shownav');
  }

});

1 个答案:

答案 0 :(得分:5)

这是因为event bubbling而发生的。请尝试e.stopPropagation()以避免这种情况。

Template.header.events({
  'tap #menulink': function(e) {
   e.preventDefault();
   e.stopPropagation()
   $('nav').toggleClass('shownav');
  }   
});