实体化下拉菜单在手把渲染中不起作用

时间:2018-11-29 23:11:46

标签: jquery materialize express-handlebars

到目前为止,有关此问题的其他帖子并没有帮助我,所以我认为我会与我分享挑战。

下面是我的main.handlebars设置,包括jQuery和Materialize库,以及用于初始化dropdown()方法的显式部分。

<body>
  {{{body}}}
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/js/materialize.min.js"></script>

  <script>
    $(document).ready(function (e) {
      alert("jquery load");
      debugger;
      $('.dropdown-trigger').dropdown();
    });
  </script>

</body>

然后在{{body}}中进行渲染,这是我的导航中具有所需下拉菜单的部分:

    <a class='dropdown-trigger btn' href='#' data-target='dropdown1'>Drop Me!</a>

    <!-- Dropdown Structure -->
    <ul id='dropdown1' class='dropdown-content' role="menu">
      <li><a href="#city">City</a></li>
      <li><a href="#host">Host</a></li>
      <li><a href="#interest">Interest</a></li>
      <li><a href="#dates"><i class="material-icons">view_module</i>Dates</a></li>
      <li class="divider" tabindex="-1"></li>
      <li><a href="#all"><i class="material-icons">cloud</i>All</a></li>
    </ul>

根据我的读物,我应该一切都很好。 。 。而且我知道初始化<script>是通过对alert()进行测试而运行的,但没有采取任何措施。难过!

1 个答案:

答案 0 :(得分:1)

似乎您正在使用Materialize版本0.100.2,但正在阅读Materialize版本1.0.0的文档。

如果要使用版本0.1,则需要在标记中使用属性data-activates代替data-target,并且使用类名dropdown-button代替dropdown-trigger

有关两个版本之间重大更改的更多信息,请参见:https://github.com/Dogfalo/materialize/blob/v1-dev/v1-upgrade-guide.md

干杯!