Gra*_*y D 5 javascript material-design material-design-lite
我有以下代码,
var loginForm = document.createElement('div');
loginForm.className = 'row';
loginForm.innerHTML = '<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label textfield-demo"><input class="mdl-textfield__input" type="text" id="login" /><label class="mdl-textfield__label" for="login">Username</label></div>';
document.getElementById('page-content').appendChild(loginForm);
Run Code Online (Sandbox Code Playgroud)
问题是,由于javascript函数已经运行,输入未正确设置样式.
有没有人需要调用javascript函数才能使这个工作?我试过MaterialTextfield.prototype.init()但没有改变.
小智 8
您可以使用MDL的升级元素功能.由于您已动态创建了loginForm,因此可以在范围内升级它
componentHandler.upgradeElement(loginForm);
//or, componentHandler.upgradeDom(loginForm);
//however, I suggest using jQuery to upgrade multiple if you are adding more than one
componentHandler.upgradeElements($('.mdl-textfield').get());
Run Code Online (Sandbox Code Playgroud)
这将获取所有mdl-textfield对象并升级它们(如果之前未升级)
| 归档时间: |
|
| 查看次数: |
1358 次 |
| 最近记录: |