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 的消息提示框效果代码
Jul 31 Javascript
js通过元素class名字获取元素集合的具体实现
Jan 06 Javascript
jQuery.parseJSON(json)将JSON字符串转换成js对象
Jul 27 Javascript
jquery中页面Ajax方法$.load的功能使用介绍
Oct 20 Javascript
JavaScript使用cookie实现记住账号密码功能
Apr 27 Javascript
JS+CSS实现表格高亮的方法
Aug 05 Javascript
jQuery实用小技巧_输入框文字获取和失去焦点的简单实例
Aug 25 Javascript
网页中右键功能的实现方法之contextMenu的使用
Feb 20 Javascript
利用node.js实现自动生成前端项目组件的方法详解
Jul 12 Javascript
webpack开发跨域问题解决办法
Aug 03 Javascript
解决Vue动态加载本地图片问题
Oct 09 Javascript
vue3.0中使用element的完整步骤
Mar 04 Vue.js
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代码技巧的小结
2013/06/02 PHP
PHP三元运算的2种写法代码实例
2014/05/12 PHP
PHP生成条形图的方法
2014/12/10 PHP
php银联网页支付实现方法
2015/03/04 PHP
php将字符串随机分割成不同长度数组的方法
2015/06/01 PHP
关于PHP内置的字符串处理函数详解
2017/02/04 PHP
js读取本地excel文档数据的代码
2010/11/11 Javascript
js中获取事件对象的方法小结
2011/03/13 Javascript
TimergliderJS 一个基于jQuery的时间轴插件
2011/12/07 Javascript
Javascript基础教程之argument 详解
2015/01/18 Javascript
详解原生JavaScript实现jQuery中AJAX处理的方法
2016/05/10 Javascript
浅析jQuery 遍历函数,javascript中的each遍历
2016/05/25 Javascript
JS中SetTimeout和SetInterval使用初探
2017/03/23 Javascript
js操作二进制数据方法
2018/03/03 Javascript
vuex直接赋值的三种方法总结
2018/09/16 Javascript
JavaScript中关于base64的一些事
2019/05/06 Javascript
微信小程序的mpvue框架快速上手指南
2019/05/15 Javascript
[44:43]完美世界DOTA2联赛决赛日 FTD vs GXR 第一场 11.08
2020/11/11 DOTA
python中利用await关键字如何等待Future对象完成详解
2017/09/07 Python
Pandas读取MySQL数据到DataFrame的方法
2018/07/25 Python
python判断数字是否是超级素数幂
2018/09/27 Python
Python3.8对可迭代解包的改进及用法详解
2019/10/15 Python
tensorflow模型继续训练 fineturn实例
2020/01/21 Python
Spring @Enable模块驱动原理及使用实例
2020/06/23 Python
详解HTML5中ol标签的用法
2015/09/08 HTML / CSS
美国受欢迎的女性牛仔裤品牌:DL1961
2016/11/12 全球购物
岗位职责的含义
2013/11/17 职场文书
车间操作工岗位职责
2013/12/19 职场文书
三下乡活动方案
2014/01/31 职场文书
社团2014年植树节活动总结
2014/03/11 职场文书
公司节能减排方案
2014/05/16 职场文书
篮球赛口号
2014/06/18 职场文书
2014年最新个人对照检查材料范文
2014/09/25 职场文书
2015年员工试用期工作总结
2014/12/12 职场文书
小公司融资,商业计划书的8切记
2019/07/15 职场文书
2019年圣诞节祝福语集锦
2019/12/25 职场文书