jQuery:bind方法的使用详解

jQuery:bind方法的使用详解

  • 传入两个参数:第一个参数是事件名称,第二个参数是事件处理函数。例如:$(‘p’).click(f)等价于:
  • $('p').bind('click',f);

  • 传入三个参数:第一个参数仍旧是事件名称,第二个参数可以是任意值,jQuery会在执行处理函数之前,将该值设置为Event的data属性。通过这种方式传递额外数据给处理程序,不需要使用闭包。注意:当对一个事件绑定了多个处理函数的时候,在处理函数中,event的data属性只拥有绑定这个处理函数时传入的值。如下解释会更清楚一些:
  • 1:
    $('p').bind('click',2,function(event){
        console.log(event.data);
    });
    例2:
    $('p').bind('click',{'name':'sunny'},function(event){
        console.log(event.data);
    });

    例1会输出2,例2会输出{name:’sunny’},两者的data属性值不会受影响。

  • bind方法可以通过空格的给多个事件注册一个处理函数。例如:
  • $('a').bind('mouseenter mouseleave',f);
    相当于
    $('a').hover(f);

  • bind方法可以通过传入对象的方式,给多个事件绑定处理函数。例如:
  • $('a').bind({click:f,mouseenter:g);

  • bind方法可以为注册的事件处理函数指定命名空间,这在解绑某个事件的处理函数的时候不用解绑所有的处理函数,而可以单独解绑某个命名空间下的处理函数。注意:这个命名空间并不是js中模块分类的命名空间的意思,你可以指定任意字符来充当命名空间,格式是:事件名称+.+命名空间名称。例如:
  • click.myspace


    示例代码如下:

        $('a').bind('click.myspace',function(){
            //处理程序
        })
        如果没有命名空间,在解绑的时候,只能执行以下代码全部解绑:
        $('a').unbind('click');
        但是如果使用了命名空间,可以只解绑指定命名空间的处理函数:
        $('a').unbind('click.myspace');

    当然,也可以一次性解绑一个命名空间的所有处理函数。例如:

        $('a').unbind('myspace');
        这将解绑myspace在a上的所有处理函数
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南窗客斯黄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值