jQuery中on()、delegate()、live()、bind()的区别

自 jQuery 版本 1.7 起,on() 方法是 bind()、live() 和 delegate() 方法的新的替代品。

live() 方法在 jQuery 版本 1.7 中被废弃,在版本 1.9 中被移除。

on()

on() 方法在被选元素及子元素上添加一个或多个事件处理程序。

使用 on() 方法添加的事件处理程序适用于当前及未来的元素(比如由脚本创建的新元素)。

如需移除事件处理程序,请使用off()方法。

如需添加只运行一次的事件然后移除,请使用one()方法。

$(selector).on(event,childSelector,data,function)

参数

描述

event

必需。规定要从被选元素移除的一个或多个事件或命名空间。
由空格分隔多个事件值,也可以是数组。必须是有效的事件。

childSelector

可选。规定只能添加到指定的子元素上的事件处理程序

(且不是选择器本身,比如已废弃的 delegate() 方法)。

data

可选。规定传递到函数的额外数据。

function

可选。规定当事件发生时运行的函数。

delegate()

delegate() 方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。

使用 delegate() 方法的事件处理程序适用于当前或未来的元素(比如由脚本创建的新元素)。

$(selector).delegate(childSelector,event,data,function)

参数

描述

childSelector

必需。规定要添加事件处理程序的一个或多个子元素。

event

必需。规定添加到元素的一个或多个事件。
由空格分隔多个事件值。必须是有效的事件。

data

可选。规定传递到函数的额外数据。

function

必需。规定当事件发生时运行的函数。

live()    live() 方法在 jQuery 版本 1.7 中被废弃,在版本 1.9 中被移除。

live() 方法为被选元素添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。

通过 live() 方法添加的事件处理程序适用于匹配选择器的当前及未来的元素(比如由脚本创建的新元素)。如需移除事件处理程序,请使用die()方法。(die() 方法在 jQuery 版本 1.7 中被废弃,在版本 1.9 中被移除。)

$(selector).live(event,data,function)

参数

描述

event

必需。规定添加到元素的一个或多个事件。
由空格分隔多个事件值。必须是有效的事件。

data

可选。规定传递到该函数的额外数据。

function

必需。规定当事件发生时运行的函数。

bind()  

bind() 方法向被选元素添加一个或多个事件处理程序,以及当事件发生时运行的函数。

$(selector).bind(event,data,function,map)

参数

描述

event

必需。规定添加到元素的一个或多个事件。
由空格分隔多个事件值。必须是有效的事件。

data

可选。规定传递到函数的额外数据。

function

必需。规定当事件发生时运行的函数。

map

规定事件映射 ({event:function, event:function, ...}),包含要添加到元素的一个或多个事件,以及当事件发生时运行的函数。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值