Multi Touch не работает в Chrome - PullRequest
0 голосов
/ 09 июня 2019

Мне нужно запустить функцию, если два div нажаты / нажаты одновременно. Я устал под кодом, но его выполнение происходит одно за другим. У меня есть один пример кода, который работает нормально в мобильном устройстве. Но он не работает в настольном Chrome.

https://github.com/mdn/dom-examples/blob/master/touchevents/Multi-touch_interaction.html

Компонент HTML

  <div>
<div>
  <div (press)="leftDivMousedown($event)" (pressup)="leftDivMouseup($event)" ></div>

  <div (press)="rightDivMousedown($event)" (pressup)="rightDivMouseup($event)"></div>
</div>

Класс компонентов

import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';

@Component({
  selector: 'app-home',
  templateUrl: './home.component.html',
  styleUrls: ['./home.component.css']
})
export class HomeComponent implements OnInit {

  private leftTouch: boolean = true;
  private rightTouch: boolean = false;

  leftDivMousedown(event) {
   this.leftTouch = true;    
    if (this.rightTouch) {
       console.log("bothclick");
     }
  }

  leftDivMouseup(event) {
    this.leftTouch = false;
  }

  rightDivMousedown(event) {
    this.rightTouch = true;
    if (this.leftTouch) {
     console.log("bothclick");
    }
  }

  rightDivMouseup(event) {  
    this.rightTouch = false;
  }

1 Ответ

1 голос
/ 09 июня 2019

Вы уверены, что название события - пресс? Возможно, замена пресса на сенсорное исправит вашу проблему.

https://www.w3schools.com/jsref/obj_touchevent.asp

Вместо нажатия попробуйте использовать touchstart, а вместо нажатия используйте touchend.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...