我想我了解 _create_init 在小部件定义中(例如 这个问题),但我仍然不确定 目的 为了区分。哪种设置任务进入 _create() 或IN _init()?如果小部件作者选择了错误的人,怎么了?

有帮助吗?

解决方案

从:

利用 _create 构建和注入标记,绑定事件等。将默认功能放在 _init()。例如,对话框小部件提供了一个 autoOpen 参数表示对话框初始化后应打开对话框;一个理想的地方 _init()!

还:

小部件工厂自动发射 _create()_init() 初始化期间的方法,按照该顺序。乍一看,这项工作似乎是重复的,但是两者之间存在视线差异。因为小部件工厂可以防止同一元素上的多个实例化,所以 _create() 每个小部件实例将最多称为一次 _init() 每当小部件被调用时,都会被称为无参数...

如果作者使用 _init() 什么时候 _create() 应该已经编码了,结果将是 _init() 每个小部件实例化将执行一次。

其他提示

简短的答案 这里:_create()首次运行jQuery-ui插件时将执行,例如$ xx.your-plugin(您的选项); _init()将执行 第一次和第一次之后 当您的代码运行到$ xx. your-plugin(您的选项)时;

因为这样的jquery-ui.custom.js中有一些代码:

var instance = $.data( this, fullName );
if ( instance ) {
    instance.option( options || {} )._init();
}

所以,如果你 绘制图表 使用jQuery-UI插件,将其抽出后,然后您要 使用新数据对其进行更新, ,您需要在_init()中执行此操作以更新图表。如果您只是显示一些内容并且不会完全更新它们,则_Create()将满足您的需求。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top