jQuery事件命名空间

event.namespace

命名空间是event对象上的一个属性
官网栗子:

使用场景

我们知道在JavaScript中对同一DOM元素使用传统的绑定模型绑定事件,后绑定的事件会覆盖先绑定的事件,也就是某个类型的事件只能有一个处理函数;而使用jQuery则可以绑定多个事件,无论前后绑定的事件都能被触发。(使用原生js,现代绑定方法也可以,addEventListener)

例:

<button id="button1">按钮</button>

JavaScript传统绑定方法:

var button1 = document.getElementById("button1");
button1.onclick = function(){
	alert("handler1");
};
button1.onclick = function(){
	alert("handler2");
};

只会弹出“handler2”一个提示框
jQuery绑定方法:

$("#button").on("click",handler1).on("click",handler2);
	function handler1(){
         alert("handler1");
     }
function handler2(){
         alert("handler2");
}   

如果想要解绑其中的一个事件处理函数,可以这样:

$("#button").off("click",handler1);

如果绑定的事件处理函数都是匿名函数的话则无法实现,例如:

$("#button").on("click",function(){
	alert("handler2");
});

使用事件命名空间

    $("#button").on("click.name1",function(){
        alert("handler1");
    }).on("click.name2",function(){
        alert("handler2");
    });

这样就可以解绑具体的函数了:

$("#button").off("click.name2");

命名空间和事件好比人的姓和名

命名空间 <==> 姓

事件 <==> 名字

如果删除叫小明的,张小明、刘小明都会被删除,名 + 姓才能对应到具体的人。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

weixin_流年

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

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

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

打赏作者

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

抵扣说明:

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

余额充值