В mdui некоторые компоненты должны инициализироваться после загрузки DOM. Поэтому динамически созданные компоненты не могут быть инициализированы автоматически. Для этого mdui предоставляет метод mdui.mutation().
Вызов этого метода инициализирует все компоненты на странице, которые еще не были инициализированы.
var html =
'<select class="mdui-select" mdui-select>' +
' <option value="1">State 1</option>' +
' <option value="2">State 2</option>' +
' <option value="3">State 3</option>' +
'</select>';
// Компонент Select был добавлен динамически, но так как он вызывается через пользовательский атрибут, он не был инициализирован автоматически
$('body').append(html);
// Вызовите этот метод, чтобы инициализировать все неинициализированные компоненты на странице
mdui.mutation();Если методу mdui.mutation() передаются два аргумента, его можно использовать для инициализации компонентов, написанных вами самостоятельно. Первый аргумент — CSS-селектор, второй — функция инициализации.
При вызове mdui.mutation(selector, apiInit) CSS-селектор связывается с функцией инициализации, и выполняется $(selector).each(apiInit) для вызова функции инициализации.
При следующем вызове mdui.mutation(), если компоненты, соответствующие CSS-селектору, еще не были инициализированы, автоматически будет вызвана функция инициализации.
Если необходимо инициализировать компоненты внутри определенного элемента, можно вызвать $(selector).mutation(). Этот метод инициализирует неинициализированные компоненты внутри селектора и его дочерних элементов.