jQuery实现获取绑定自定义事件元素的方法


Posted in Javascript onDecember 02, 2015

本文实例讲述了jQuery实现获取绑定自定义事件元素的方法。分享给大家供大家参考,具体如下:

(function ($) { // 自定义itemtab事件
$.fn.bind = function(types, data, fn) { // 重载jQuery.fn.bind方法,用来截获绑定自定义事件的元素
 if(typeof types == 'string' && 'itemtab' == types) {
 var itemTouchStart = -1; // touchstart位置
 var itemTouchMove = -1; // touchend位置,值为-1时表示未触发
 var itemTriggerDistance = 0; // 拖动距离阀值,若大于该值则为拖动列表,若小于等于该值则为点击列表项
 var itemMoved = false; // 列表是否为拖动状态
 $(this).bind('touchstart', function (event) {
  if(!event.originalEvent.touches.length) return true;
  itemMoved = false;
  itemTouchStart = event.originalEvent.touches[0].pageX; // 记录起始位置
 }).bind('touchmove', function (event) {
  if(!event.originalEvent.touches.length) return true;
  itemTouchMove = event.originalEvent.touches[0].pageX; // 当前拖动位置
  //console.log('touchmove:', itemTouchStart, itemTouchMove, itemMoved);
  if(Math.abs(itemTouchMove - itemTouchStart) > itemTriggerDistance) {
  itemMoved = true; // 列表被拖动
  }
 }).bind('touchend', function (event) {
  //console.log('itemMoved:', itemMoved);
  if(itemMoved) { // 列表被拖动过,非点击操作
  return true;
  }
  $(this).trigger('itemtab'); // 触发自定义事件
 });
 }
 return this.on( types, null, data, fn ); // 这种做法具有侵入性,多个类似的代码会相互覆盖,可采用深度复制方式调用原$.fn.bind方法
}
})(jQuery);

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
收集的网上用的ajax之chat.js文件
Apr 08 Javascript
IE浏览器PNG图片透明效果代码
Sep 02 Javascript
javascript 进阶篇1 正则表达式,cookie管理,userData
Mar 14 Javascript
js查错流程归纳
May 04 Javascript
浅析jquery的作用与优势
Dec 02 Javascript
js处理自己不能定义二维数组的方法详解
Mar 03 Javascript
Javascript中设置默认参数值示例
Sep 11 Javascript
js实现的Easy Tabs选项卡用法实例
Sep 06 Javascript
js html5 css俄罗斯方块游戏再现
Oct 17 Javascript
原生JS实现的轮播图功能详解
Aug 06 Javascript
解决微信小程序中转换时间格式IOS不兼容的问题
Feb 15 Javascript
HTML+JavaScript实现扫雷小游戏
Sep 30 Javascript
JS折半插入排序算法实例
Dec 02 #Javascript
如何动态加载外部Javascript文件
Dec 02 #Javascript
javascript实现获取浏览器版本、浏览器类型
Dec 02 #Javascript
JavaScript如何禁止Backspace键
Dec 02 #Javascript
js文本框输入内容智能提示效果
Dec 02 #Javascript
JavaScript使用DeviceOne开发实战(四)仿优酷视频应用
Dec 02 #Javascript
Jquery左右滑动插件之实现超级炫酷动画效果附源码下载
Dec 02 #Javascript
You might like
PHP入门速成教程
2007/03/19 PHP
浅谈php中的循环while、do...while、for、foreach四种循环
2016/11/05 PHP
laravel框架关于搜索功能的实现
2018/03/15 PHP
Yii框架的redis命令使用方法简单示例
2019/10/15 PHP
PHP isset()及empty()用法区别详解
2020/08/29 PHP
js常见表单应用技巧
2008/01/09 Javascript
Javascript 获取链接(url)参数的方法
2009/02/15 Javascript
jQuery侧边栏随窗口滚动实现方法
2013/03/04 Javascript
JavaScript程序员应该知道的45个实用技巧
2014/03/04 Javascript
Vue2单一事件管理组件通信
2017/05/09 Javascript
vue使用mint-ui实现下拉刷新和无限滚动的示例代码
2017/11/06 Javascript
Node.js中读取TXT文件内容fs.readFile()用法
2018/10/10 Javascript
mock.js模拟数据实现前后端分离
2019/07/24 Javascript
Vue 中使用富文本编译器wangEditor3的方法
2019/09/26 Javascript
vue弹出框组件封装实例代码
2019/10/31 Javascript
JS数组属性去重并校验重复数据
2020/01/10 Javascript
[25:59]Newbee vs TNC 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[39:00]Optic vs VP 2018国际邀请赛淘汰赛BO3 第三场 8.24
2018/08/25 DOTA
详解Python中如何写控制台进度条的整理
2018/03/07 Python
python实现逆序输出一个数字的示例讲解
2018/06/25 Python
django主动抛出403异常的方法详解
2019/01/04 Python
使用python搭建服务器并实现Android端与之通信的方法
2019/06/28 Python
详解用Python为直方图绘制拟合曲线的两种方法
2019/08/21 Python
python爬虫 线程池创建并获取文件代码实例
2019/09/28 Python
python3连接kafka模块pykafka生产者简单封装代码
2019/12/23 Python
tensorflow 20:搭网络,导出模型,运行模型的实例
2020/05/26 Python
python报错TypeError: ‘NoneType‘ object is not subscriptable的解决方法
2020/11/05 Python
CSS Grid布局教程之什么是网格布局
2014/12/30 HTML / CSS
特色蛋糕店创业计划书
2014/01/28 职场文书
运动会通讯稿300字
2014/02/02 职场文书
财务人员求职自荐书范文
2014/02/10 职场文书
招标承诺书
2014/08/30 职场文书
怎么写工作检讨书
2014/11/16 职场文书
2015年乡镇妇联工作总结
2015/05/19 职场文书
关于军训的感想
2015/08/07 职场文书
NGINX 权限控制文件预览和下载的实现原理
2022/01/18 Servers