Мы используем около 3 компонентов DropDownList внутри элемента cardView kendo.ui.Window. Когда окно закрывается, мы вызываем метод «уничтожить» для каждого из содержащихся элементов DropDownList.
Проблема в том, что следующий код не удаляет все элементы DIVS, связанные с DropDownList, которые были добавлены к телу документа:
var dropdownlist = $("#dropdownlist").data("kendoDropDownList");
dropdownlist.destroy();
После некоторых поисков мы заметили следующий комментарий в документации к методу destroy (от Telerik): Важно: этот метод не удаляет элемент DropDownList из DOM.
Поэтому каждый раз, когда кто-то открывает и закрывает окна нашего кендо (представление карты), многие элементы div DropDownList добавляются без удаления из DOM — это может вызвать серьезные проблемы с производительностью в DOM.
Добавленные DIVS, которые остаются в DOM, например, «k-list-container» и «k-animation-container».
- Как я могу решить эту проблему?
- Есть ли способ полностью уничтожить каждый элемент DropDownList (включая удаление всех связанных с ним элементов из DOM)?
- Актуальна ли эта проблема, когда нам нужно уничтожить другие компоненты kendo.ui? (такие как поле со списком, dateTimePicker, всплывающая подсказка и т. д.) Так как наше окно карты kendo.ui также содержит другие основные компоненты kendo.ui.
k-animation-container
имеет идентификатор раскрывающегося списка с добавленным к нему-list
. (используя ваш пример:id="dropdownlist-list"
) - person Pedro Estrada   schedule 25.06.2014