【发布时间】:2016-08-17 19:45:18
【问题描述】:
我正在尝试在页面加载时设置mdl 滑块的值。为 mdl 滑块设置值的推荐方法如下 -
document.querySelector('#slider').MaterialSlider.change(value);
但是,如果从 $(document).ready() 或 $(window).load() 调用,则会引发错误 TypeError: document.querySelector(...).MaterialSlider is undefined。
在它上面设置一秒的超时时间可以解决这个问题,但看起来很笨拙。 是否有任何其他事件我可以将其绑定以确保其正常工作?
这就是我加载脚本的方式 --
//mobile optimized
meta(name='viewport', content='width=device-width, initial-scale=1.0')
//css
link(rel='stylesheet', href='/stylesheets/style.css')
//material-design-lite
link(rel='stylesheet', href='/bower_components/material-design-lite/material.min.css')
script(src='/bower_components/material-design-lite/material.min.js')
link(rel='stylesheet', href='https://fonts.googleapis.com/icon?family=Material+Icons')
//jQuery
script(src='/bower_components/jquery/dist/jquery.min.js')
//Material icon fonts
//link(rel="stylesheet", href="https://fonts.googleapis.com/icon?family=Material+Icons")
link(href='https://fonts.googleapis.com/css?family=Open+Sans', rel='stylesheet', type='text/css')
//polyfill (support for dialog)
script(src="/bower_components/dialog-polyfill/dialog-polyfill.js")
link(rel="stylesheet", type="text/css", href="/bower_components/dialog-polyfill/dialog-polyfill.css")
【问题讨论】:
-
你是在异步加载 mdl 吗?
-
不,滑块是 html 文件的一部分
-
你是如何加载库的?你这样做
<script defer src="https://code.getmdl.io/1.2.0/material.min.js"></script>吗? -
没有延迟位。
-
如果可以,请编辑您的问题并显示 JavaScript 在代码中的加载位置以及加载方式。还没有足够的信息。谢谢!
标签: javascript jquery material-design-lite