событие нажатия сафари не срабатывает на iphone - PullRequest
1 голос
/ 21 апреля 2019

событие клика не работает на мобильном телефоне при открытии из safari на iphone

В компоненте класса реакции при открытии меню я запускаю прослушиватель событий клика в окне.он работает нормально везде, кроме Iphone Safari

toggleMenu = async() => {
  if (this.state.isOpen) {
    this.handleCloseMenu();
  } else {
    await this.setState({
      isOpen: true
    });
    window.addEventListener('click', this.handleClick);
    disableBodyScroll(this.targetElement);
  }
};

handleClick = ({
  path
}: E) => {
  const btnClicked = path.find(node => node === this.hamburgerBtn.current);

  if (!btnClicked) {
    const menuClicked = path.find(node => node === this.targetElement.current);

    if (!menuClicked) {
      this.handleCloseMenu();
    }
  }
};

1 Ответ

0 голосов
/ 21 апреля 2019

клик - это событие мыши. Все еще нет мыши на Iphone, нет никакого события мыши. Вы должны использовать тачпад с:

 document.body.addEventListener('touchstart', function(e){
 alert(e.changedTouches[0].pageX) // alert pageX coordinate of touch point
}, false);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...