如何使用MaterialDesign Lite正确附加TextField?

时间:2017-02-10 10:40:45

标签: javascript jquery material-design material-design-lite

我尝试使用jQuery附加一个新的text with floating label,但我的附加文本字段没有动画。

如何制作动画?

这是我的jQuery代码:

$('body').on('keypress', '.stepcity', function(e){
    let keyCode = e.keyCode || e.which;

    if (keyCode == 9 || keyCode == 13)
    {
        e.preventDefault();
        let id = $('stepcity').length + 1;
        $('#StepCities').append('<div class="mdl-grid mdl-cell--7-col"><div class="mdl-cell--2-col CreateGroupIcons"><i class="fa fa-dot-circle-o"></i></div><div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label mdl-cell--10-col"><input class="mdl-textfield__input hightlyVisible stepcity" type="text" id="StepCity'+id+'"><label class="mdl-textfield__label" for="StepCity'+id+'">Step City</label></div></div>');
    }
});

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您对DOM进行了更改,则材质处理程序(如您错过的动画)将不适用于这些更改。 添加html后,您必须在javascript中调用componentHandler.upgradeDom();。然后它应该表现得像预期的那样。

这似乎也错了:let id = $('stepcity').length + 1; 它可能应该是一个类或一个id-selector。