.change( handler )返回类型:jQuery
描述:把一个事件绑定到“change”JavaScript事件,或者在一个元素上触发该事件。
-
增补版本:1.0.change( handler )
-
handler每次触发事件时要执行的函数。
-
-
增补版本:1.4.3.change( [eventData ], handler )
-
eventData类型:Anything一个对象,包含要传递给事件处理函数的数据。
-
handler每次触发事件时要执行的函数。
-
-
增补版本:1.0.change()
- 此签名没有任何参数。
此方法在前两种变体中是.on( "change", handler )
的简写,在第三种变体中是.trigger( "change" )
的简写。
当元素的值改变时,change
事件发送到该元素。此事件仅限于<input>
元素、<textarea>
框以及<select>
元素。对于选择菜单、勾选框和单选钮,当用户用鼠标作一次选择时就立即引发了此事件,但是对于其它的元素类型,此事件会被延迟,直到元素失去焦点。
例如:考虑以下HTML:
1
2
3
4
5
6
7
8
9
10
|
|
此事件处理函数可以绑定到文本输入和选择块中:
1
2
3
|
|
现在,当从下拉菜单中选中第二个选项时,显示了警告框。如果你改变了文本域中的文本,然后在别处单击,也会显示警告框。如果文本域失去了焦点,但是内容没有改变,就不会触发此事件。若要手工触发此事件,请应用.change()
而不带参数:
1
2
3
|
|
执行此代码后,在Trigger the handler上点击也将弹出警告消息。此消息将显示两次,因为处理函数被绑定到两个表单元素的change
事件上了。
自从jQuery 1.4以来,change
事件会在Internet Explorer 中冒泡,行为与其它现代浏览器中的此事件一致。
注意:利用JavaScript脚本改变输入元素的值,例如利用.val()
,将不会引发此事件。
补充说明:
-
因为
.change()
方法是.on( "change", handler )
方法的简写,所以可以利用.off( "change" )
来分离。
示例:
把change事件附加到下拉菜单以取得每个选中的选项的文本,并把它们写入到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
|
|
演示:
若要把校验测试添加到所有的文本输入元素上:
1
2
3
|
|