Интерактивность SVG на iPad - PullRequest
3 голосов
/ 28 октября 2011

У нас есть код, который загружает SVG через Ajax и затем взаимодействует через Javscript. В Mozilla и Safari 5, работающем на ПК, мы получаем события кликов, как и ожидалось в SVG. При запуске Safari iPad мы не получаем события клика. Согласно руководству разработчика Safari:

http://developer.apple.com/library/safari/#documentation/AppleApplications/Reference/SafariWebContent/CreatingContentforSafarioniPhone/CreatingContentforSafarioniPhone.html

похоже, мы должны быть «Делаем элементы кликабельными». Руководство Apple предлагает сделать это, добавив обработчик onclick. Проблема в том, что все наши SVG-элементы уже имеют обработчик кликов, настроенный через jQuery, и они все еще не щелкают.

Может быть, это потому, что SVG - это не HTML, а доступ SVG к DOM не является доступом к HTML DOM? (Мы были здесь раньше.)

Как заставить iPad прослушивать события на элементах SVG?

Ответы [ 2 ]

4 голосов
/ 28 октября 2011

Насколько мне известно, существует проблема с сафари в соответствии с этим javascript, который обрабатывает canvas / SVG. Кажется, что щелчок и касание не одно и то же.https://github.com/kangax/fabric.js/blob/master/dist/all.js И SVG 1.1 не имеет ничего, кроме событий щелчка http://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty У меня такой же интерес, поэтому я ищу ту же информацию ...

2 голосов
/ 11 апреля 2012

Мне удалось получить события кликов, работающие на Ipad, используя jquery и javascript.но моя проблема в том, что svg размывается на iPad.

Мой svg встроен в html-объект, тогда я просто обращаюсь к нему, вызывая обычное событие click, ссылающееся на функцию, которая обращается к компоненту svg через:

window.top.document.getElementById('elementId');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...