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 相关文章推荐
jQuery find和children方法使用
Jan 31 Javascript
Javascript base64编码实现代码
Dec 02 Javascript
Javascript开发之三数组对象实例介绍
Nov 12 Javascript
在jquery boxy中添加百度地图坐标拾取注意流程
Apr 03 Javascript
Javascript学习笔记之函数篇(四):arguments 对象
Nov 23 Javascript
简单的jQuery入门指引
Jul 28 Javascript
javascript 分号总结及详细介绍
Sep 24 Javascript
获取当前月(季度/年)的最后一天(set相关操作及应用)
Dec 27 Javascript
easy ui datagrid 从编辑框中获取值的方法
Feb 22 Javascript
Vue CLI3创建项目部署到Tomcat 使用ngrok映射到外网
May 16 Javascript
原生JS实现烟花效果
Mar 10 Javascript
javascript实现贪吃蛇小游戏
Jul 28 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
提问的智慧
2006/10/09 PHP
php 批量替换html标签的实例代码
2013/11/26 PHP
PHP中4个加速、缓存扩展的区别和选用建议
2014/03/12 PHP
Zend Framework实现将session存储在memcache中的方法
2016/03/22 PHP
Extjs在exlipse中设置自动提示的方法
2010/04/07 Javascript
js遍历td tr等html元素
2012/12/13 Javascript
原生javascript图片自动或手动切换示例附演示源码
2013/09/04 Javascript
JavaScript中判断整字类型最简洁的实现方法
2014/11/08 Javascript
node.js中的buffer.write方法使用说明
2014/12/10 Javascript
浅谈Javascript中匀速运动的停止条件
2014/12/19 Javascript
jQuery实现将页面上HTML标签换成另外标签的方法
2015/06/09 Javascript
使用jQuery ajaxupload插件实现无刷新上传文件
2017/04/23 jQuery
vue.js中过滤器的使用教程
2017/06/08 Javascript
JS 60秒后重新发送验证码的实例讲解
2017/07/26 Javascript
node 使用 async 控制并发的方法
2018/05/07 Javascript
JS+HTML实现的圆形可点击区域示例【3种方法】
2018/08/01 Javascript
解决JQuery的ajax函数执行失败alert函数弹框一闪而过问题
2019/04/10 jQuery
Vue源码探究之虚拟节点的实现
2019/04/17 Javascript
解决Layui中layer报错的问题
2019/09/03 Javascript
详解webpack-dev-middleware 源码解读
2020/03/23 Javascript
Python3基础之函数用法
2014/08/13 Python
初学python的操作难点总结(新手必看篇)
2017/08/03 Python
浅谈python日志的配置文件路径问题
2018/04/28 Python
selenium+python实现1688网站验证码图片的截取功能
2018/08/14 Python
选择Python写网络爬虫的优势和理由
2019/07/07 Python
Python使用Pandas对csv文件进行数据处理的方法
2019/08/01 Python
pytorch之Resize()函数具体使用详解
2020/02/27 Python
css3动画过渡实现鼠标跟随导航效果
2018/02/08 HTML / CSS
英国度假别墅预订:Sykes Cottages
2017/06/12 全球购物
美国Max仓库:Max Warehouse
2020/05/31 全球购物
施工安全责任书
2014/04/14 职场文书
活动总结的格式
2014/05/07 职场文书
幼儿园教师节感谢信
2015/01/23 职场文书
nginx里的rewrite跳转的实现
2021/03/31 Servers
用Python实现Newton插值法
2021/04/17 Python
Unicode中的CJK(中日韩统一表意文字)字符小结
2021/12/06 HTML / CSS