var btn = document.querySelector('#btn');
btn.ontouchstart = function (e) {
var point = e.changedTouches[0];
this.strX = point.pageX;
this.strY = point.pageY;
this.isMove = false;
}
btn.ontouchmove = function (e) {
var point = e.changedTouches[0];
//手指按下去或多或少都會有滑動。一般以10畫素為偏差值
var chengeX = point.pageX - this.strX,
chengeY = point.pageY - this.strY;
this.chengeX = chengeX;
this.chengeY = chengeY;
if(Math.abs(chengeX) > 10 || Math.abs(chengeY) > 10){
this.isMove = true;
}
}
btn.ontouchend = function (e) {
var point = e.changedTouches[0];
if(!this.isMove) {
console.log('我是點選操作--');
return;
}
var dir = null;
if(Math.abs(this.chengeX)> Math.abs(this.chengeY)) {
dir = this.chengeX < 0 ? 'left' : 'right';
}else {
dir = this.chengeY < 0 ? 'up' : 'down';
}
console.log(dir);
}
複製程式碼
js實現簡易的touch事件(es5)
相關文章
- 基於ES5`defineProperty` 實現簡單的 Mvvm框架MVVM框架
- 原生 js 實現移動端 Touch 滑動反彈JS
- namedtuple簡易實現
- touch事件與click事件區別事件
- 移動端touch事件事件
- 移動端 touch事件事件
- 實現一個簡易的vueVue
- JS裡關於事件的常被考察的知識點:事件流、事件廣播、原生JS實現事件代理JS事件
- 簡易版 vue實現Vue
- 集合 -- es5實現
- touch事件和click事件多次觸發的問題事件
- HTML5觸控事件實現移動端簡易進度條HTML事件
- 基於Websocket的簡易webshell實現Webshell
- node的讀寫流簡易實現
- KOA的簡易模板引擎實現方式
- 基於Vue的簡易MVVM實現VueMVVM
- p5.js簡易實現 apple watch 三色錶盤JSAPP
- 簡易實現一個expressExpress
- Go 實現簡易 RPC 框架GoRPC框架
- 利用 trait 簡易 Facade 實現AI
- ES5 如何實現 Class
- 簡易版的Spring框架之IOC簡單實現Spring框架
- Flutter——原生View的Touch事件分發流程FlutterView事件
- 簡易實現 HTTPS (一) 自動實現 sslHTTP
- Go 實現簡易的 Redis 客戶端GoRedis客戶端
- 基於react的hash路由簡易實現React路由
- 來實現一個簡易版的 PromisePromise
- VirtualView iOS 簡易字串表示式的實現ViewiOS字串
- 學習Promise && 簡易實現PromisePromise
- 模擬實現簡易版shell
- 簡易執行緒池實現執行緒
- UNIX Domain Socket實現簡易聊天AI
- 實現一個簡易版WebpackWeb
- NodeJS實現簡易區塊鏈NodeJS區塊鏈
- QT實現簡易串列埠助手QT串列埠
- js中的繼承(es5)JS繼承
- JS簡易留言板JS
- 如何實現一個簡易版的 Spring - 如何實現 AOP(中)Spring