首页 > 代码库 > 给jquery 添加触屏事件,上下左右 touchwipe插件
给jquery 添加触屏事件,上下左右 touchwipe插件
touchwipe.js
(function($){$.fn.touchwipe=function(settings){var config={min_move_x:20,min_move_y:20,wipeLeft:function(){},wipeRight:function(){},wipeUp:function(){},wipeDown:function(){},preventDefaultEvents:true};if(settings)$.extend(config,settings);this.each(function(){var startX;var startY;var isMoving=false;function cancelTouch(){this.removeEventListener(‘touchmove‘,onTouchMove);startX=null;isMoving=false}function onTouchMove(e){if(config.preventDefaultEvents){e.preventDefault()}if(isMoving){var x=e.touches[0].pageX;var y=e.touches[0].pageY;var dx=startX-x;var dy=startY-y;if(Math.abs(dx)>=config.min_move_x){cancelTouch();if(dx>0){config.wipeLeft()}else{config.wipeRight()}}else if(Math.abs(dy)>=config.min_move_y){cancelTouch();if(dy>0){config.wipeDown()}else{config.wipeUp()}}}}function onTouchStart(e){if(e.touches.length==1){startX=e.touches[0].pageX;startY=e.touches[0].pageY;isMoving=true;this.addEventListener(‘touchmove‘,onTouchMove,false)}}if(‘ontouchstart‘in document.documentElement){this.addEventListener(‘touchstart‘,onTouchStart,false)}});return this}})(jQuery);
使用方法:
$(‘html‘).touchwipe({
wipeLeft:function(){
alert(‘左‘);
},
wipeRight:function(){
alert(‘右‘);
},
wipeUp:function(){
alert(‘下‘);
},
wipeDown:function(){
alert(‘上‘);
},
preventDefaultEvents:true
});
给jquery 添加触屏事件,上下左右 touchwipe插件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。