如何在锚标记上模拟点击事件而不实际调用点击或刷新?

时间:2015-01-13 08:40:36

标签: meteor iron-router meteor-blaze

我正在使用带有铁路由器和流星标准火焰诱惑的流星。

我有一个ul设置,以便在点击我的一个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')

1 个答案:

答案 0 :(得分:0)

听起来你正在寻找一种以编程方式从JS重定向而不是通过UI互动的方式,在这种情况下你需要使用Router.go('ROUTE_NAME'),按照the docs(你可以使用)路由名称在pathFor中作为提供实际路径的替代方法。)