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中遭遇级联表达式陷阱
Mar 08 Javascript
IE8 原生JSON支持
Apr 13 Javascript
JS 无法通过W3C验证的处理方法
Mar 09 Javascript
JavaScript与Div对层定位和移动获得坐标的实现代码
Sep 08 Javascript
页面实时更新时间的JS实例代码
Dec 18 Javascript
影响jQuery使用的14个方面
Sep 01 Javascript
全面解析Bootstrap中tab(选项卡)的使用方法
Jun 06 Javascript
js生成随机数(指定范围)的实例代码
Jul 10 Javascript
关于Javascript中document.cookie的使用
Mar 08 Javascript
Vue中计算属性computed的示例解读
Jul 26 Javascript
vue项目引入字体.ttf的方法
Sep 28 Javascript
微信小程序页面间跳转传参方式总结
Jun 13 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中实现进程间通讯
2006/10/09 PHP
PHP5.2下chunk_split()函数整数溢出漏洞 分析
2007/06/06 PHP
一些需要禁用的PHP危险函数(disable_functions)
2012/02/23 PHP
ECMall支持SSL连接邮件服务器的配置方法详解
2014/05/19 PHP
Yii结合CKEditor实现图片上传功能
2014/06/13 PHP
yii2利用自带UploadedFile实现上传图片的示例
2017/02/16 PHP
php实现对短信验证码发送次数的限制实例讲解
2021/03/04 PHP
接收键盘指令的脚本
2006/06/26 Javascript
js获取url参数的使用扩展实例
2007/12/29 Javascript
jQuery 扩展对input的一些操作方法
2009/10/30 Javascript
js 获取后台的字段 改变 checkbox的被选中的状态 代码
2013/06/05 Javascript
js跳转页面方法实现汇总
2014/02/11 Javascript
基于jQuery实现网页进度显示插件
2015/03/04 Javascript
jQuery实现滑动页面固定顶部显示(可根据显示位置消失与替换)
2015/10/28 Javascript
详解js的事件处理函数和动态创建html标记方法
2016/12/16 Javascript
详解js的六大数据类型
2016/12/27 Javascript
JavaScript实现的简单Tab点击切换功能示例
2018/07/06 Javascript
javascript创建元素和删除元素实例小结
2019/06/19 Javascript
javascript如何使用函数random来实现课堂随机点名方法详解
2020/07/28 Javascript
vue 限制input只能输入正数的操作
2020/08/05 Javascript
python中lambda函数 list comprehension 和 zip函数使用指南
2014/09/28 Python
python在控制台输出进度条的方法
2015/06/20 Python
Python下载网络文本数据到本地内存的四种实现方法示例
2018/02/05 Python
Python机器学习库scikit-learn安装与基本使用教程
2018/06/25 Python
python版opencv摄像头人脸实时检测方法
2018/08/03 Python
使用SVG实现提示框功能的示例代码
2020/06/05 HTML / CSS
西班牙第一的网上药房:PromoFarma.com
2017/04/17 全球购物
Bulk Powders意大利:运动补充在线商店
2019/02/09 全球购物
Michael Kors加拿大官网:购买设计师手袋、手表、鞋子、服装等
2019/03/16 全球购物
个人求职信范文分享
2014/01/06 职场文书
报到证丢失证明
2014/01/11 职场文书
公司大门门卫岗位职责
2014/06/11 职场文书
2015年反洗钱工作总结
2015/04/25 职场文书
详解php中流行的rpc框架
2021/05/29 PHP
mysql外连接与内连接查询的不同之处
2021/06/03 MySQL
剖析后OpLog订阅MongoDB的数据变更就没那么难了
2022/02/24 MongoDB