如何在不实际调用点击或刷新的情况下模拟定位标签上的点击事件?

How can I simulate a click event on an anchor tag without actually calling click or refreshing?

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

我有一个 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 重定向的方法,而不是通过 UI 交互,在这种情况下,您需要使用 Router.go('ROUTE_NAME'),根据 the docs (您可以使用 pathFor 中的路由名称作为提供实际路径的替代方法)。