有些jQuery插件使用_create方法来扩展widget,而其他插件则使用_init方法,有人能解释一下两者之间的区别吗?
此外,有没有关于何时更好地扩展widget或直接扩展jquery.fn的指导?
有些jQuery插件使用_create方法来扩展widget,而其他插件则使用_init方法,有人能解释一下两者之间的区别吗?
此外,有没有关于何时更好地扩展widget或直接扩展jquery.fn的指导?
一旦元素被创建,所有其他调用小部件名称的情况下第一个参数不是字符串将调用_init()方法;如果传递选项,则将在_init()方法之前调用.option()方法。
+-------+----------------+---------------+--------------------------------------------------------------------------------------------+
| Phase | Name | jQuery Method | Description |
+-------+----------------+---------------+--------------------------------------------------------------------------------------------+
| 1 | Creation | _create | First time the widget is applied to an element, it is called. |
| 2 | Initialization | _int | The _init method is called after _create when the widget is first applied to its elements. |
| 3 | Destruction | destroy | The widget's destroy method is used to detach a widget from an element. |
+-------+----------------+---------------+--------------------------------------------------------------------------------------------+
注意:以下划线开头的方法通常被认为是私有的。
_create
和_init
之间存在区别。一个用于创建,另一个用于初始化。每次使用没有参数或选项调用部件时,它都会间接地调用_init
方法。因此,可以使用它来重置(重新初始化)小部件或传递不同的选项。
有关每个阶段的更多详细信息在这里。