Этот 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", "");
};
Я могу запустить только сенсорный запуск, но не касание.
Проверка включенаiPhone использует эту ссылку В моих тестах SauceLabs использует все версии iOS и виртуальные iPhone.
Код включен codepen