.one( events [, data ], handler )Returns: jQuery
Description: 为元素绑定事件处理程序。对于每个元素、每种事件类型,该处理程序最多只执行一次。
-
version added: 1.1.one( events [, data ], handler )
-
events类型: 字符串包含一个或多个JavaScript事件类型(如"click"或"submit")或自定义事件名称的字符串。
-
data类型: PlainObject当事件触发时,要传递给处理程序的
event.data中的数据。 -
handler事件触发时执行的函数。
-
-
version added: 1.7.one( events [, selector ] [, data ], handler )
-
events类型: 字符串一个或多个以空格分隔的事件类型和可选的命名空间,例如 "click" 或 "keydown.myPlugin"。
-
selector (选择器)类型: 字符串一个选择器字符串,用于过滤所选元素的后代元素中触发事件的元素。如果选择器为
null或省略,则当事件到达所选元素时,始终会触发该事件。 -
data类型: Anything当事件触发时,要传递给处理程序的
event.data中的数据。 -
handler当事件触发时要执行的函数。值
false也可以作为简单地执行return false的函数的简写。
-
-
version added: 1.7.one( events [, selector ] [, data ] )
-
events类型: PlainObject一个对象,其中字符串键表示一个或多个以空格分隔的事件类型和可选命名空间,值表示要为事件调用的处理程序函数。
-
selector (选择器)类型: 字符串一个选择器字符串,用于过滤所选元素的后代元素中将调用处理程序的元素。如果选择器为 null 或省略,则当事件到达所选元素时,始终会调用处理程序。
-
data类型: Anything当事件发生时,要传递给处理程序的
event.data中的数据。
-
.one() 方法与 .on() 相同,不同之处在于,给定元素和事件类型的处理程序在首次调用后就会解绑。例如
|
1
2
3
|
|
执行代码后,点击 ID 为 foo 的元素将显示警报。后续点击将不起作用。此代码等同于
|
1
2
3
4
|
|
换句话说,在常规绑定的处理程序中显式调用 .off() 会产生完全相同的效果。
如果第一个参数包含多个以空格分隔的事件类型,则事件处理程序将为*每种事件类型调用一次*。
|
1
2
3
|
|
在上面的示例中,由于存在*两种*事件类型(click 和 mouseover),警报可能会显示两次。
示例
示例 1
为每个 div 绑定一次性点击事件。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
|
演示
示例 2
在第一次点击每个段落时,在警报框中显示所有段落的文本
|
1
2
3
|
|
示例 3
事件处理程序将为每个元素、每种事件类型触发一次
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
|