需要手动删除kendo主要小部件HTML

时间:2015-01-14 15:59:22

标签: kendo-ui

一旦销毁了kendo小部件,页面中就不再需要它及其HTML。框架清除窗口小部件外的所有HTML,但不清除窗口小部件内的所有HTML。因此,每次销毁小部件时,我都需要编写几行代码来删除主小部件中的HTML。 如何避免此样板代码删除主窗口小部件元素中的HTML?为什么kendo不在主Widget中清理HTML?

1 个答案:

答案 0 :(得分:1)

Kendo小部件的destroy()方法只是准备从网站中删除的小部件。假设您要删除包含一个或几个小部件的大容器。使用destroy()方法单独删除所有小部件的html,然后删除容器将导致性能下降。

我不知道你在哪里看到几行代码来销毁和移除小部件 - 它只是两个:

$("#widget").data("yourWidget").destory();
$("#widget").remove();

而且,您可以轻松创建自己的全局函数来销毁和删除小部件:

function deleteWidget(kendoWidget){
    var element = kendoWidget.element;
    kendoWidget.destroy();
    element.remove();
}

如果您想重新创建小部件,可以使用:

function emptyWidget(kendoWidget){
    var element = kendoWidget.element;
    kendoWidget.destroy();
    element.empty();
}

然后你可以使用空的html元素创建新的小部件。

有关在官方kendo文档中销毁小部件的更多信息:http://docs.telerik.com/kendo-ui/framework/widgets/destroy