【问题标题】:mmenu jQuery plugin doesn't update url on clicking links with href starting with #mmenu jQuery 插件在单击以 # 开头的 href 链接时不会更新 url
【发布时间】:2015-11-27 18:36:06
【问题描述】:
<li><span>About</span>
   <ul>
       <li><a href="#/history">History</a></li>
       <li><a href="#/address">Our address</a></li>
   </ul>
</li>

我正在使用mmenu 插件。以下链接不会更新窗口位置。我正在使用backbone.js,并希望在路由器的帮助下启动单独的模块。但不幸的是,mmenu 没有启用更新 window.location 的链接

【问题讨论】:

    标签: jquery backbone.js jquery-plugins mmenu routerjs


    【解决方案1】:

    如果您以# 标记开始任何链接,它将重定向到任何页面。你可以在没有#标签的情况下使用它

    <ul>
           <li><a href="/history">History</a></li>
           <li><a href="/address">Our address</a></li>
       </ul>
    

    有时我们需要将一些a链接到一些div,例如我们使用#标签

    <ul>
           <li><a href="#history">History</a></li>
           <li><a href="#address">Our address</a></li>
       </ul>
    

    当有任何 ID 为 historyaddress 的元素时,上述代码将起作用,并将页面带到该元素,但要更新 URL,您需要删除 # 标记

    【讨论】:

    • 如果我在除 mmenu 之外的任何地方使用这些链接,它们确实会更新 url。我希望他们也能在 mmenu 中工作。
    • 检查是否有类似preventDefault的代码用于点击链接。如果是,那么它将不适用于# 标签:)
    • 删除 # 将使它们链接到另一个页面。我希望他们担任主播。通过使用这些链接作为锚点,我可以使用骨干网的路由器通过不同的模块进行路由。
    • 请分享您的代码,因为我需要检查是否使用了preventDefault 函数,因为它会阻止任何标签使用其默认功能,这可能是链接未添加到 URL 的原因
    • Gaurav,我没有在我的代码中使用preventDefault 方法。它可能已在 mmenu 库中使用。但是为什么没有# 的链接可以正常工作呢?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-30
    • 2011-12-05
    相关资源
    最近更新 更多