手机的touch事件(基于jquery)
2014-07-26 09:17
232 查看
javascript代码:
$.swipe=function(opt){
var o = $.extend({
mainSelector:"",
swipeLeft:function(e,v){},
swipeRight:function(e,v){},
swipeEnds:function(v,e){}
}, opt || {});
var startX=0,startY=0;
var obj={
touchStart: function (e){
var touchx= e.touches[0].pageX;
var touchy= e.touches[0].pageY;
startX = parseInt(touchx,10);
startY = parseInt(touchy,10);
},
touchMove:function(e){
var touchmx= e.touches[0].pageX,
touchmy= e.touches[0].pageY,
dirX=parseInt(touchmx-startX,10);
dirY=parseInt(touchmy-startY,10);
if(dirX<0){
o.swipeLeft(e,dirX);
}else{
o.swipeRight(e,dirX);
}
if(dirY<0){
o.swipeTop(e,dirY);
}else{
o.swipeBottom(e,dirY);
}
},
touchEnd:function(e){
o.swipeEnds(e);
},
bindEvent:function(els){
var elem=$(els);
for(var i=0,_len=elem.length;i<_len;i++){
elem[i].addEventListener('touchstart', obj.touchStart, false);
elem[i].addEventListener('touchmove', obj.touchMove, false);
elem[i].addEventListener('touchend', obj.touchEnd, false);
}
}
};
obj.bindEvent(o.mainSelector);
return obj;};
传入的是选择器和swipeLeft,swipeRight的回调事件
$.swipe=function(opt){
var o = $.extend({
mainSelector:"",
swipeLeft:function(e,v){},
swipeRight:function(e,v){},
swipeEnds:function(v,e){}
}, opt || {});
var startX=0,startY=0;
var obj={
touchStart: function (e){
var touchx= e.touches[0].pageX;
var touchy= e.touches[0].pageY;
startX = parseInt(touchx,10);
startY = parseInt(touchy,10);
},
touchMove:function(e){
var touchmx= e.touches[0].pageX,
touchmy= e.touches[0].pageY,
dirX=parseInt(touchmx-startX,10);
dirY=parseInt(touchmy-startY,10);
if(dirX<0){
o.swipeLeft(e,dirX);
}else{
o.swipeRight(e,dirX);
}
if(dirY<0){
o.swipeTop(e,dirY);
}else{
o.swipeBottom(e,dirY);
}
},
touchEnd:function(e){
o.swipeEnds(e);
},
bindEvent:function(els){
var elem=$(els);
for(var i=0,_len=elem.length;i<_len;i++){
elem[i].addEventListener('touchstart', obj.touchStart, false);
elem[i].addEventListener('touchmove', obj.touchMove, false);
elem[i].addEventListener('touchend', obj.touchEnd, false);
}
}
};
obj.bindEvent(o.mainSelector);
return obj;};
传入的是选择器和swipeLeft,swipeRight的回调事件
相关文章推荐
- 基于JavaScript touch事件的自定义按钮示例
- 基于jQuery的遍历同id元素 并响应事件的代码
- [Phonegap+Sencha Touch] 移动开发25 关于sencha touch在华为、红米、HTC等部分手机下hide事件失效,msgbox无法关闭的解决方案
- 一款基于jQuery带事件记录的日历插件
- 手机网站(html5)之touch事件
- AJAX触发aspnet控件的C#事件(基于Jquery)
- 基于jquery实现发送文章到手机的代码
- JS事件监听手机屏幕触摸事件 Touch
- 让input框实现类似百度的搜索提示(基于jquery事件监听)
- 一款基于jQuery带事件记录的日历插件
- 打印touch事件,打印手机触摸事件
- jquery中的bind事件在手机客户端使用时遇到的问题
- 配合鼠标滚轮事件的可自定义样式的区域滚动条插件(基于jquery)
- 25.Unity3D手机中Input类touch详解-Unity触屏事件解析到底(Twisted Fate)
- 移动设备、手机浏览器Javascript滑动事件代码(touch事件)
- 基于jQuery捕获超链接事件进行局部刷新代码
- AJAX触发aspnet控件的C#事件(基于Jquery)
- 基于jQuery实现类似Google+圈子选择功能插件(支持键盘事件)
- [Phonegap+Sencha Touch] 移动开发25 关于sencha touch在华为、红米、HTC等部分手机下hide事件失效,msgbox无法关闭的解决方案
- 关于js的冒泡事件,和一款基于jQuery的联动Select下拉框