jQuery1.7开始,jQuery引入了全新的事件绑定机制,jQuery .on() 和 off() 两个函数统一处理事件绑定,也是jQuery触发DOM元素事件的最佳方法。有时候既要trigger手动触发事件,也要从DOM元素上解绑事件,比如:
$('.item').on('click', doThisCoolThing); $('.item').on('click', doThisOtherCoolThing); $('.item').trigger('click'); // 两个click事件都触发 $('.item').off('click'); // 两个click事件都解绑
使用事件命名空间我们可以在创建事件的时候指派名称到事件处理器,并在使用trigger()和off()时通过这个名称指定到特定的函数。调用的时候就可以通过使用不同的命名空间灵活的指派事件. 比如:
$('.item').on('click.navigate', doThisCoolThing); $('.item').on('click.notify', doThisOtherCoolThing); $('.item').trigger('click.navigate'); // 只有带有navigate这个命名空间的方法才会触发 $('.item').off('click.notify'); // 只有带有notify这个命名空间的方法才会解绑
也可以使用多个命名空间,无论使用哪个名字都会生效,通过命名空间代码规范(产品.模块.事件)让事件的层次更清晰:
$('.item').on('click.navigate.notify', doThisCoolThing); $('.item').trigger('click.navigate'); // 将触发click事件 $('.item').off('click.notify'); // 将解绑click事件
参考资料:
http://www.andismith.com/blog/2011/11/on-and-off/
http://www.andismith.com/blog/2013/02/jquery-on-and-off-namespacing/
相关推荐
基于jquery 的开关按钮小插件,配置简单,具体用法可以看我的博客 https://blog.csdn.net/lianzhang861/article/details/80415991
开发工具 jquery.dataTables.min开发工具 jquery.dataTables.min开发工具 jquery.dataTables.min开发工具 jquery.dataTables.min开发工具 jquery.dataTables.min开发工具 jquery.dataTables.min开发工具 jquery....
jquery-1.4.4.min.js jquery.ztree.exhide.min.js jquery.ztree.exedit.min.js jquery.ztree.excheck.min.js jquery.ztree.core.min.js jquery.ztree.all.min.js jquery-1.4.4.js jquery.ztree.exhide.js jquery....
单页后退前进刷新 jquery.hash.min.js 和 jquery.ba-hashchange.min.js
jquery.json-2.3.min.js和jquery.json-2.3.js jQuery为开发插件提拱了两个方法,分别是:jQuery.extend(object); 为扩展jQuery类本身 jQuery.fn.extend(object);给jQuery对象添加方法。
jquery.treegrid.min.js jquery.treegrid.min.jsjquery.treegrid.min.jsjquery.treegrid.min.js
jquery.validate.1.9.0.min.js jquery.validate.1.12.0.min.js jquery.validate.1.13.1.min.js jquery.validate.1.16.0.min.js jquery.validate.1.14.0.min.js jquery.validate.1.15.1.min.js jquery.validate....
jquery.cookie.js,jquery-1.11.0.min.js,respond.min.js, bootstrap.min.js,html5shiv.js
jquery.slimscroll.min.js下载 jquery.slimscroll.min.js下载
jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery....
jquery.media.js
jquery.弹出框jquery.弹出框jquery.弹出框jquery.弹出框jquery.弹出框jquery.弹出框jquery.弹出框jquery.弹出框jquery.弹出框jquery.弹出框jquery.弹出框jquery.弹出框jquery.弹出框jquery.弹出框jquery.弹出框...
jquery.autocomplete.js 、jquery.autocomplete.css
jquery.marquee.js官方下载jquery.marquee.js官方下载
在官网上一直下载不下来 然后共享在这 jquery.json-2.3.min.js和jquery.json-2.3.js
jquery.pagination.js 下载,优秀的jquery分页插件,使用IP代理国外网站下载而来
jquery.form.js jquery.form.js
jquery.json2xml.js&&jquery.xml2json.js在jQuery的基础上实现json与xml的相互转换
jquery.pjax是基于jquery的单页面开发框架;jquery.pjax是基于jquery的单页面开发框架;
jquery.media.js