使用 小部件工厂(widget factory) 创建的小部件,在初始化后使用方法来更改其状态和执行操作。有两种调用小部件方法的方式——通过小部件工厂创建的插件调用,或者通过调用元素实例对象上的方法。
链接 插件调用
要使用小部件插件调用方法,请将方法名称作为字符串传递。例如,以下是如何调用 对话框小部件的 close() 方法。
|
1
|
|
如果该方法需要参数,请将它们作为附加参数传递给插件。以下是如何调用 对话框的 option() 方法。
|
1
|
|
这将返回 对话框的 height 选项 的值。
链接 实例调用
在底层,每个小部件的每个实例都使用 jQuery.data() 存储在元素上。要检索实例对象,请使用小部件的全名作为键调用 jQuery.data()。如下所示。
|
1
|
|
在获得对实例对象的引用后,可以直接在上面调用方法。
|
1
2
|
|
在 jQuery UI 1.11 中,新的 instance() 方法将使这个过程变得更加简单。
|
1
|
|
链接 返回类型
通过小部件插件调用的大多数方法将返回一个 jQuery 对象,以便方法调用可以与其他 jQuery 方法链式调用。即使是在实例上调用时返回 undefined 的方法也是如此。如下面的示例所示。
|
1
2
3
4
5
6
7
8
9
10
11
12
|
|
例外情况是返回小部件相关信息的方法。例如 对话框的 isOpen() 方法。
|
1
2
3
4
|
|
这会产生一个 TypeError 错误,因为 isOpen() 返回的是布尔值,而不是 jQuery 对象。