on()、off()的妙用
2015-12-26 16:24
337 查看
我们自己写的插件有时会在某个对象绑定事件on(),不需要这个插件时还会销毁事件off(),如果我们不限定解绑范围的话,可能会影响到相同对象的相同事件,举个栗子,大家可能明白些:
a:(错误解绑方式)
<span style="white-space:pre"> </span>$(document).on('mouseup', function() {
console.log(123);
});
$(document).on('mouseup', function() {
console.log(456);
});
$('.btn').on('click', function() {
$(document).off('mouseup');
});如果我们只想解绑输出123的mouseup事件,这样解绑就会影响到456
b:(正确解绑方式)
<span style="white-space:pre"> </span>$(document).on('mouseup.a', function() {
console.log(123);
});
$(document).on('mouseup.b', function() {
console.log(456);
});
$('.btn').on('click', function() {
$(document).off('mouseup.a');
});在时间后面加上自定义命名空间,解绑的时候就方便很多了
a:(错误解绑方式)
<span style="white-space:pre"> </span>$(document).on('mouseup', function() {
console.log(123);
});
$(document).on('mouseup', function() {
console.log(456);
});
$('.btn').on('click', function() {
$(document).off('mouseup');
});如果我们只想解绑输出123的mouseup事件,这样解绑就会影响到456
b:(正确解绑方式)
<span style="white-space:pre"> </span>$(document).on('mouseup.a', function() {
console.log(123);
});
$(document).on('mouseup.b', function() {
console.log(456);
});
$('.btn').on('click', function() {
$(document).off('mouseup.a');
});在时间后面加上自定义命名空间,解绑的时候就方便很多了
相关文章推荐
- 任玉刚【Android开发艺术探索】读后笔记一
- Android adb 常用的几个命令...
- 内联,重载,缺省参数
- 【LVL1_5_c】【课后练习】【3】 求两个数组的对应元素之和。
- Git 版本控制工具(分布式管理)
- XML文档解析几种方式
- iOS初体验---通知
- android随笔09——中断电话
- Oracle APEX 5.0 新手教程(五) 登录控制
- 猜数字游戏
- java之冒泡排序与选择排序
- Model的合理使用时机
- Python Argparse 简易指南
- 【VirtualBox】虚拟硬盘格式vdi和vmdk相互转换方法
- Java过滤器与SpringMVC拦截器之间的关系与区别
- Oracle APEX 5.0 新手教程(四) 页面动态生成
- IOS UICollectionView 横向分页加载(左滑加载数据)
- vs2010 files 的值乱码
- 剑指Offer:树的子结构(JAVA)
- 147,函数