jQuery中 on 和 bind的区别

jQuery中 on 和 bind 的区别

先看参数

1.bind有三个参数,分别是event,data,function,也就是事件,额外要添加的数据以及执行函数
2.on有四个参数,分别是event,selector, data,function 分别是事件,选择器,额外添加的数据和执行函数。

首先啊,有没有发现,多了一个选择器. 我们来举个场景的例子

一个大的dom节点里有两个小的节点,比如一个class1,一个class2.所以你会这样写

var x = docuemnt.getElementByClassName("name")[0];
x.addEventLister("click",function(e) {
    var target = e.target;
    if (target.className === "class1") {
        dosomething();
    }else if (target.className === "class2") {
        doanother();
    } else {
        console.err("ss");
    }
})

是不是很烦,这样子你需要判断事件对象,那么在jquery里面

你只需要

$('.name').on("click",'.class1', function() {
    dosonmething();
}).on("click",'.class2', function() {
    doanother();
});

这是on能做到的,bind不可以。

总而言之,言而总之。on和bind的区别是

1.on 可以多一个selector 参数,可以给子元素添加事件
bind 只能给自己添加事件
2. 使用on添加的事件比如给自己子集使用类选择器添加的 ,后来创建的含有这个类名的子节点也有事件
3.on是jquery推荐使用的,bind是从某个版本开始就不推荐使用的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值