【问题标题】:m is not defined materialize cssm 未定义实现 css
【发布时间】:2018-04-04 22:51:34
【问题描述】:

我总是收到错误“未定义 M”el 未定义

codepen sample

如果你打开控制台,你会看到错误

我先加载 jquery.min.js 然后加载 materialize.min.js .css

然后在下面加载我的 script.js。

M 不被识别,它应该被识别

为什么?

// init materialize tab
 var instance = M.Tabs.init(el, options);

  // Or with jQuery

 $(document).ready(function(){
    $('.tabs').tabs();

 });

这是html

<div class="row">
  <div class="col s12">
        <ul  class="tabs">
       <li class="tab col s3"><a href="#test1">Test 1</a></li>
       <li class="tab col s3"><a class="active" href="#test2">Test 2</a></li>
        <li class="tab col s3 disabled"><a href="#test3">Disabled Tab</a></li>
        <li class="tab col s3"><a href="#test4">Test 4</a></li>
      </ul>
</div>
    <div id="test1" class="col s12">Test 1</div>
    <div id="test2" class="col s12">Test 2</div>
    <div id="test3" class="col s12">Test 3</div>
    <div id="test4" class="col s12">Test 4</div>
</div>

【问题讨论】:

  • 这通常表示在脚本之前没有正确地“包含”库JS。也就是说,范围内没有M 变量(例如“无模块注入”)并且尚未设置window.M(又名“全局”)。

标签: materialize


【解决方案1】:

我发现了问题,是版本。

确保使用版本 => 1.0.0。

 https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0-beta/js/materialize.min.js

如果您使用版本

确保在实现 css 之前加载 jquery!

您还必须首先定义 elem 和选项来初始化选项卡

// init materialize tab
     var elem = $('.tabs')
     var options = {}
     var instance = M.Tabs.init(elem, options);

  //or Without Jquery


    //var elem = document.querySelector('.tabs');
     var options = {}
     var instance = M.Tabs.init(elem, options);

【讨论】:

  • 为我工作!谢谢!
  • @hoogw 你在哪个文件中定义了初始化选项卡的元素和选项?
  • 在 1.0.0 版本中不需要 jquery。 codepen.io/j_holtslander/pen/ddmMdY
猜你喜欢
  • 1970-01-01
  • 2011-05-20
  • 1970-01-01
  • 2018-09-08
  • 2011-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多