iOS Mobile Safari Touchstart работает, но НЕ работает - PullRequest
0 голосов
/ 15 октября 2018

screenshot1

Этот SVG-интерактив, написанный на обычном JavaScript (без jQuery), работает во всех браузерах, кроме iOS Safari для мобильных устройств.Я понимаю, что есть проблемы с обработчиками событий в iOS Safari для мобильных устройств.Я пробовал обходные пути, предложенные для переполнения стека.Очевидные из них:

  • CSS .svg {курсор: указатель;}
  • HTML div id = "canvas" onclick = "void (0);"

    hexGroup.addEventListener("touchstart", start, false);
    hexGroup.addEventListener("mouseenter", start, false);
    function start(event) {
      var self = this;
      self.setAttribute("class", "hover");
      self.remove();
      svg.appendChild(self);
    };
    // clear class
    hexGroup.addEventListener("mouseleave", end, false);
    hexGroup.addEventListener("touchend", end, false);
    function end(event) {
      this.setAttribute("class", "");
    };       
    
    hexGroup.addEventListener("touchmove", moveOrCancel, false);
    hexGroup.addEventListener("touchcancel", moveOrCancel, false);
    function moveOrCancel(event) {
      event.preventDefault();
      this.setAttribute("class", "");
    };       
    

Я могу запустить только сенсорный запуск, но не касание.

screenshot2

Проверка включенаiPhone использует эту ссылку В моих тестах SauceLabs использует все версии iOS и виртуальные iPhone.

Код включен codepen

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