如何在不实际调用点击或刷新的情况下模拟定位标签上的点击事件?
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
中的路由名称作为提供实际路径的替代方法)。
我正在使用带有铁路由器和流星标准火焰诱人的流星。
我有一个 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
中的路由名称作为提供实际路径的替代方法)。