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 相关文章推荐
JS禁用浏览器退格键实现思路及代码
Oct 29 Javascript
初识SmartJS - AOP三剑客
Jun 08 Javascript
javascript中解析四则运算表达式的算法和示例
Aug 11 Javascript
基于JQuery和CSS3实现仿Apple TV海报背景视觉差特效源码分享
Sep 21 Javascript
javascript字符串函数汇总
Dec 06 Javascript
常用的几个JQuery代码片段
Mar 13 Javascript
纯JS实现可用于页码更换的飞页特效示例
May 21 Javascript
vue this.reload 方法 配置
Sep 12 Javascript
解决vue脚手架项目打包后路由视图不显示的问题
Sep 20 Javascript
VUE解决微信签名及SPA微信invalid signature问题(完美处理)
Mar 29 Javascript
JQuery animate动画应用示例
May 14 jQuery
layui 上传图片 返回图片地址的方法
Sep 26 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完全过滤HTML,JS,CSS等标签
2009/01/16 PHP
php adodb介绍
2009/03/19 PHP
php adodb操作mysql数据库
2009/03/19 PHP
php URL跳转代码 减少外链
2011/06/25 PHP
php中获取远程客户端的真实ip地址的方法
2011/08/03 PHP
php实现httpclient类示例
2014/04/08 PHP
PHP简单遍历对象示例
2016/09/28 PHP
PHP中常见的密码处理方式和建议总结
2018/10/14 PHP
[全兼容哦]--实用、简洁、炫酷的页面转入效果loing
2007/05/07 Javascript
解析Jquery中如何把一段html代码动态写入到DIV中(实例说明)
2013/07/09 Javascript
深入理解jQuery之事件移除
2016/06/02 Javascript
JavaScript函数节流概念与用法实例详解
2016/06/20 Javascript
js中字符型和数值型数字的互相转化方法(必看)
2017/04/25 Javascript
jQuery用户头像裁剪插件cropbox.js使用详解
2017/06/07 jQuery
Vue插值、表达式、分隔符、指令知识小结
2018/10/12 Javascript
vue从一个页面跳转到另一个页面并携带参数的解决方法
2019/08/12 Javascript
JS实现炫酷雪花飘落效果
2020/08/19 Javascript
python将ip地址转换成整数的方法
2015/03/17 Python
Python操作MongoDB详解及实例
2017/05/18 Python
使用Python横向合并excel文件的实例
2018/12/11 Python
Tensorflow限制CPU个数实例
2020/02/06 Python
python随机模块random使用方法详解
2020/02/14 Python
Python如何批量生成和调用变量
2020/11/21 Python
css3发光搜索表单分享
2014/04/11 HTML / CSS
移动端Html5页面生成图片解决方案
2018/08/07 HTML / CSS
我的大学生活职业生涯规划
2014/01/02 职场文书
高中历史教学反思
2014/02/08 职场文书
应届生自荐信范文
2014/02/21 职场文书
公司董事长岗位职责
2014/06/08 职场文书
北京奥运会口号
2014/06/21 职场文书
日语系毕业求职信
2014/07/27 职场文书
公民代理授权委托书
2014/09/24 职场文书
小学教师个人工作总结2015
2015/04/20 职场文书
信访维稳承诺书
2015/05/04 职场文书
2015年骨干教师工作总结
2015/05/26 职场文书
2016秋季运动会开幕词
2016/03/04 职场文书