jQuery事件命名空间
2015-08-30 20:54
537 查看
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");
命名空间和事件好比人的姓和名
命名空间 <==> 姓
事件 <==> 名字
如果删除叫小明的,张小明、刘小明都会被删除,名 + 姓才能对应到具体的人。(想起了高考作文万年不变的李华……现在变了么?)
参考
官网文档event.namespacehttp://cssor.com/jquery-namespaced-events.html
http://segmentfault.com/a/1190000000339421
相关文章推荐
- 【JavaScript】小样例-js仿jquery的表单验证
- Jquery对象的文档处理,CSS和事件
- jquery 获取 outerHtml 包含当前节点本身的代码
- PHP与jquery前后台交互的小程序
- jquery选择器(原创)
- jQueryMobile的组件之弹出窗(popup)
- jQueryMobile的组件之导航条(navbar)
- JQuery基础
- jquery.mousewheel实现整屏翻屏效果
- jquery实现整屏翻屏效果:jquery.mousewheel(一)
- JQuery与Ajax的结合进行文本框内容验证
- IE8下jQuery改变png图片透明度时出现的黑边
- jquery datatable 参数
- jQuery制作鼠标悬停水平滑动门切换特效仿阿里妈妈联盟广告切换特效
- jQuery实现CheckBox全选、全不选
- Jquery Table 的基本操作
- jQuery鼠标事件汇总
- IE8下jQuery改变png图片透明度时出现的黑边问题
- 【JQuery】jQuery自制简易手风琴效果(附实现原理)
- jQuery.extend 函数详解