這是一個小故事......但前段時間我寫了我自己的滑動功能。
此功能主要在ios設備中測試。
1.創建自定義事件。
FC = fastclick
SWL = swipeleft
SWR = swiperight
SWU = swipeup
社署= swipedown
2.it的比其他揮筆,你可以更快使用簡單的純js addeventlistener或attachevent。
3.it用純javascript編寫。
4.also的fastclick事件,您可以點擊元素更快..
點擊= 400-500ms
fastclick = 40-50ms
window.onload=function(){
(function(d){
var
ce=function(e,n){var a=document.createEvent("CustomEvent");a.initCustomEvent(n,true,true,e.target);e.target.dispatchEvent(a);a=null;return false},
nm=true,sp={x:0,y:0},ep={x:0,y:0},
touch={
touchstart:function(e){sp={x:e.touches[0].pageX,y:e.touches[0].pageY}},
touchmove:function(e){nm=false;ep={x:e.touches[0].pageX,y:e.touches[0].pageY}},
touchend:function(e){if(nm){ce(e,'fc')}else{var x=ep.x-sp.x,xr=Math.abs(x),y=ep.y-sp.y,yr=Math.abs(y);if(Math.max(xr,yr)>20){ce(e,(xr>yr?(x<0?'swl':'swr'):(y<0?'swu':'swd')))}};nm=true},
touchcancel:function(e){nm=false}
};
for(var a in touch){d.addEventListener(a,touch[a],false);}
})(document);
// example
var h=function(e){console.log(e.type);};
document.body.addEventListener('fc',h,false);
document.body.addEventListener('swl',h,false);
document.body.addEventListener('swr',h,false);
document.body.addEventListener('swu',h,false);
document.body.addEventListener('swd',h,false);
}
下面是關於如何你更多的細節可以使用它..
https://stackoverflow.com/a/17567696/2450730
它可能也適用於Android。
(this)不會在這樣的if語句中觸發 – Johnny000