W mdui niektóre komponenty muszą zostać zainicjalizowane po załadowaniu drzewa DOM. Dlatego dynamicznie generowane komponenty nie mogą być inicjalizowane automatycznie. W tym celu mdui udostępnia metodę mdui.mutation().
Wywołanie tej metody zainicjalizuje wszystkie niezainicjalizowane jeszcze komponenty na stronie.
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>';
// Komponent Select dodany dynamicznie nie może zostać zainicjalizowany automatycznie, ponieważ jest wywoływany przez atrybuty niestandardowe
$('body').append(html);
// Wywołaj tę metodę, aby zainicjalizować wszystkie niezainicjalizowane komponenty na stronie
mdui.mutation();Jeśli do metody mdui.mutation() przekazano dwa parametry, można jej użyć do zainicjalizowania własnych komponentów. Pierwszy parametr to selektor CSS, a drugi to funkcja inicjalizująca.
Podczas wywołania mdui.mutation(selector, apiInit) selektor CSS zostanie powiązany z funkcją inicjalizującą i zostanie wykonane $(selector).each(apiInit).
Przy następnym wywołaniu mdui.mutation(), jeśli komponenty odpowiadające selektorowi CSS nie zostały jeszcze zainicjalizowane, funkcja inicjalizująca zostanie wywołana automatycznie.
Jeśli chcesz zainicjalizować komponenty wewnątrz określonego elementu, możesz wywołać $(selector).mutation(). Metoda ta zainicjalizuje niezainicjalizowane komponenty wewnątrz selektora i jego elementów potomnych.