【发布时间】:2015-01-13 17:02:49
【问题描述】:
我正在使用带有铁路由器和流星标准火焰诱人的流星。
我有一个 ul 设置,这样当我的一个 li 项目被点击时,它包含的锚标签被点击使用功能点击。唯一的问题是,当使用该功能单击 a 时,它会被视为对我的 li 的另一次单击,并且我的菜单没有正确切换。
我想知道是否有一种方法可以在不实际调用点击函数的情况下调用 pathFor。
感谢您的帮助!
更新,这是它与一个非常标准的下拉导航一起工作的代码。我不确定我是否可以像 jquery 事件一样捕获该事件,因为我认为它是在 [0] 上工作的标准浏览器点击事件,但我认为我应该能够制作一个与 href 匹配的函数来路由和调用Router.go
Template.nav.rendered = () ->
# set initial page view and take care of refeshes
currentPageHtlm = getCurrentPage(window.location.pathname)
$('#currentPage').find('span').html(currentPageHtlm)
$("li").on "click", () ->
#simulate anchor click and set currentPage session
$(this).find("a")[0].click()
Session.set 'pageName', getCurrentPage($(this).find("a").attr("href"))
currentPageHtlm = Session.get 'pageName'
$('#currentPage').find('span').html(currentPageHtlm)
# toggle nav and arrow if mobile view
if $('.smOnly').css('display') != 'none'
$('#nav').slideToggle('slow')
$('#dropArrow').toggleClass('fa-caret-square-o-down fa-caret-square-o-up')
【问题讨论】:
-
分享你的 js 代码。你应该尝试
e.stopPropagation()和e.preventDefault()以避免事件冒泡。
标签: meteor iron-router meteor-blaze