javascript - Materialise 下拉菜单不采用 Meteor 模板中的选项

标签 javascript html meteor drop-down-menu materialize

所以,我正在使用 Meteor 和 Materialize-css 开发一个网站,并尝试在导航栏中实现一个下拉菜单,该菜单在悬停时激活而不是在单击时激活。

我的文件是这样的:

HTML:

  <ul id="dropdown1" class="dropdown-content">
    <li><a href="#">Option 1</a></li>
    <li><a href="#">Option 2</a></li>
    <li><a href="#">Option 3</a></li>
  </ul>

  <nav>
    <div class="nav-wrapper">
      <ul class="left hide-on-med-and-down">
        <li><a href="/">Home</a></li>
        <li><a class="dropdown-button" href="#" data-activates="dropdown1">Services
          Available</a></li>
      </ul>
    </div>
  </nav>

</template>

JS:

Template.nav.onRendered(function () {
  $(".dropdown-button").dropdown({
    hover: true
  });
});

(已编辑)由于我的误解,我的印象很短,$(".dropdown-button").dropdown() 没有做任何事情。但是,它正在激活下拉菜单。它只是没有采用 hover: true 选项,或与此相关的任何其他选项。为什么这个不注册?我错过了什么吗?我所做的研究表明,如果 .dropdown()template.onRendered() 中被调用,下拉菜单将根本无法工作。我需要能够将选项传递给它,但我似乎无法让它工作。

我用 meteor add 安装的一些东西:

  • 四七:scss
  • materialize:materialize v0.97.7(0.97.8 崩溃 meteor ,目前)
  • 铁:路由器

最初发布此问题后,我做了更多研究,然后我被定向到 this post .就像这个答案所暗示的那样,我非常确信我遇到的问题与 DOM 就绪有关,但我有点迷茫。我尝试使用 Tracker.afterFlush(),但这似乎没有任何帮助,所以我仍然卡住了。

非常感谢任何帮助,谢谢。

最佳答案

这是因为'hover'需要用引号括起来。这只是您的 JSON 中的语法错误。

  $(".dropdown-button").dropdown({
    "hover": true
  });

我用 materialize 1.0.0-Beta 测试了这个。

关于javascript - Materialise 下拉菜单不采用 Meteor 模板中的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40689038/

相关文章:

javascript - 如何覆盖 iframe 并允许点击

javascript - .Find() 仅可见元素

javascript - 如何确保文本在表单提交之前处理 onchange

html - 如何使 div 容器响应?

html - 如何更改 Ruby on Rails 中特定页面的 css

javascript - 如何仅在 react 文档的特定字段发生变化时才运行跟踪器计算?

javascript - sinon.js 对 websocket 应用程序进行单元测试

javascript - 你如何解析这个谷歌地图 JSON

javascript - 我可以将 meteor + react.js 用于移动应用程序吗?

meteor - 如何使用铁路由器提供静态内容(图像、字体等)