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 相关文章推荐
JavaScript var声明变量背后的原理示例解析
Oct 12 Javascript
jQuery的选择器中的通配符使用介绍
Mar 20 Javascript
JavaScript脚本库编写的方法
Dec 09 Javascript
基于Bootstrap实现tab标签切换效果
Apr 15 Javascript
EasyUI布局 高度自适应
Jun 04 Javascript
RGB和YUV 多媒体编程基础详细介绍
Nov 04 Javascript
详解Vue方法与事件
Mar 09 Javascript
微信小程序 连续旋转动画(this.animation.rotate)详解
Apr 07 Javascript
webpack学习笔记之优化缓存、合并、懒加载
Aug 24 Javascript
解决vue项目打包后提示图片文件路径错误的问题
Jul 04 Javascript
vux-scroller实现移动端上拉加载功能过程解析
Oct 08 Javascript
Javascript原型链及instanceof原理详解
May 25 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.ini中文版(1)
2006/10/09 PHP
php 表单验证实现代码
2009/03/10 PHP
php中使用DOM类读取XML文件的实现代码
2011/12/14 PHP
CI框架自动加载session出现报错的解决办法
2014/06/17 PHP
微信第三方登录(原生)demo【必看篇】
2017/05/26 PHP
PHP查询分页的实现代码
2017/06/09 PHP
Laravel 实现Eloquent模型分组查询并返回每个分组的数量 groupBy()
2019/10/23 PHP
js 判断脚本加载完毕的代码
2011/07/13 Javascript
利用js实现前台动态添加文本框,后台获取文本框内容(示例代码)
2013/11/25 Javascript
js 获取、清空input type="file"的值示例代码
2014/02/19 Javascript
JavaScript基础函数整理汇总
2015/01/30 Javascript
jQuery position() 函数详解以及jQuery中position函数的应用
2015/12/14 Javascript
JSON与String互转的实现方法(Javascript)
2016/09/27 Javascript
jQuery加密密码到cookie的实现代码
2017/04/18 jQuery
Vue2.0 axios前后端登陆拦截器(实例讲解)
2017/10/27 Javascript
Python中异常重试的解决方案详解
2017/05/05 Python
Sanic框架应用部署方法详解
2018/07/18 Python
python处理excel绘制雷达图
2019/10/18 Python
python主线程与子线程的结束顺序实例解析
2019/12/17 Python
python 安装教程之Pycharm安装及配置字体主题,换行,自动更新
2020/03/13 Python
纯CSS3实现自定义Tooltip边框涂鸦风格的教程
2014/11/05 HTML / CSS
使用phonegap操作数据库的实现方法
2017/03/31 HTML / CSS
戴尔美国官方折扣店:Dell Outlet
2018/02/13 全球购物
全球才华横溢工匠的家居装饰、珠宝和礼物:NOVICA
2021/01/22 全球购物
金融行业职业生涯规划范文
2014/01/17 职场文书
实践单位评语
2014/04/26 职场文书
初中优秀班集体申报材料
2014/05/01 职场文书
2014年个人债务授权委托书范本
2014/09/22 职场文书
《爱的教育》读书心得
2014/11/08 职场文书
2014年团支部年度工作总结
2014/12/24 职场文书
罚站检讨书
2015/01/29 职场文书
30岁前绝不能错过的10本书
2019/08/08 职场文书
为什么node.js不适合大型项目
2021/04/28 Javascript
python开发飞机大战游戏
2021/07/15 Python
为了顺利买到演唱会的票用Python制作了自动抢票的脚本
2021/10/16 Python
利用Apache Common将java对象池化的问题
2022/06/16 Servers