touch 中没有 targetTouches 属性

同时触摸两个不同的元素,操作

在uni-app 中可以使用 identifier 可以使用唯一标识去标记

  1. start(e){
  2. this.startx=e.changedTouches[0].clientX
  3. this.starty=e.changedTouches[0].clientY
  4. if(this.identifier == null) {
  5. this.identifier = e.changedTouches[0].identifier
  6. }
  7. },
  8. move(e) {
  9. const touchesIdentifiers = e.changedTouches.map((item) => {
  10. return item.identifier;
  11. })
  12. const touchesIndex = touchesIdentifiers.indexOf(this.identifier)
  13. const clientX = e.changedTouches[touchesIndex].clientX;
  14. const clientY = e.changedTouches[touchesIndex].clientY;
  15. const templeft =(clientX - this.startx)*1
  16. const temptop =(clientY- this.starty)*1
  17. ....
  18. },
  19. cancel(){
  20. this.identifier = null
  21. },
  22. end(){
  23. this.identifier = null
  24. }

参考文章

新手必‘晕’的changedTouches,您肯定不知道的!(框架细节十二)