代码改变世界

widget中destroy()、_init()、_create()方法的区别

2012-08-29 13:18  C#与.NET探索者  阅读(398)  评论(0编辑  收藏  举报

widget被创建的时候,这两个方法都会被创建,而当页面再次调用widget方法的时候,则只执行_init方法,下面的代码将说明这些

代码
复制代码
$(function(){
 
    
// _create() 和 _init() 在第一次调用的时候被执行
    $("div").mywidget();
 
    
// widget已经实例化到div上了,此时只执行_init()方法
    $("div").mywidget();
 
    
// 销毁widget
    $("div").mywidget("destroy");
 
    
// 因为widget已经被销毁,此时_create()和_init()方法都将被执行
    $("div").mywidget();
 
});
复制代码

对于destroy方法,在remove掉作用的元素的时候会被执行!所以在destroy的方法中必须将widget自己加的html结构删除掉。还原成应用widget前的状态!