【问题标题】:Foundation.js not working on pages with hash URIFoundation.js 不适用于具有哈希 URI 的页面
【发布时间】:2015-09-23 04:05:42
【问题描述】:

我启用了accordion 和form-abide,当页面位于哈希URI 中时,它们都不会做任何事情。它在我禁用客户端路由时起作用。我的<body> 底部已经有$(document).foundation();。

这是相关的页面和哈希 URI:http://ingrower.apps.quantisan.com/#/production/A3

如果我不使用/#/ 客户端路由,那么似乎一切正常。知道如何解决这个问题吗?

【问题讨论】:

  • 您的控制台中是否有任何错误或警告?另外,请检查检查器中的网络选项卡,由于/#/,脚本的相对 URL 可能会被破坏。
  • 看起来问题是因为我使用的是客户端路由。当 DOM 发生变化时,Foundation 不知道新内容,因此 jquery 选择器不会接收事件。

标签: javascript jquery zurb-foundation zurb-foundation-5


【解决方案1】:

将<script src="js/app.js" type="text/javascript"></script> 更改为/js/app.js。该页面正在尝试在 /#/app.js 加载您的相关 javascript,这显然不存在。

【讨论】:

    【解决方案2】:

    我在每次客户端页面加载后明确调用$(document).foundation('reflow');。特别是,利用 ComponentDidUpdate ReactJs 生命周期。现在可以了。

    尽管为每个 DOM 更新加载foundation() 显然是一种矫枉过正。我希望有一个更优雅的解决方案......

    【讨论】:

      猜你喜欢
      • 2011-04-16
      • 2021-01-19
      • 2014-11-21
      • 2016-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-19
      • 2023-03-09
      相关资源
      最近更新 更多