Інтерактивність SVG на iPad

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

http://developer.apple.com/ бібліотека/сафарі/# документація/AppleApplications/Довідкові матеріали/SafariWebContent/CreatingContentforSafarioniPhone/CreatingContentforSafarioniPhone.html

це виглядає ймовірним, що ми повинні робити елементи, які можна натискати. Довідник Apple пропонує зробити це шляхом додавання onclick обробника. Проблема в тому, що всі наші елементи SVG вже мають обробник кліків, налаштований за допомогою jQuery - і вони ще не натискають.

Може бути, це тому, що SVG не HTML, а доступ до DOM SVG - це не доступ до HTML DOM? (Ми були тут раніше.)

Як ми можемо отримати iPad для прослуховування подій у елементах SVG?

3

2 Відповіді

Наскільки я знаю, є проблема з сафарі відповідно до цього JavaScript - який обробляє полотно/SVG Схоже, що натискання та торкнення не є однаковими. https://github.com/kangax/fabric.js/blob /master/dist/all.js І SVG 1.1 не має подібних подій http://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty У мене є той же інтерес, тому я шукаю ту саму інформацію ...

4
додано

Я мав змогу отримувати події кліків, що працюють на Ipad за допомогою jQuery та javascript. але моє питання полягає в тому, що svg розмиває на iPad.

Мій SVG вбудований в html-об'єкт, після чого я просто отримую доступ до нього, викликаючи звичайний потік кліків, на який посилається функція, яка має доступ до компоненту svg через:

window.top.document.getElementById('elementId');
2
додано
Більш докладно про те, як це насправді працює? Ви реєструєте оброблювачі примусових подій на об'єктах, після чого перетворюєте їх на події кліків, щоб вручну перенаправляти їх на елемент SVG?
додано Автор chubbsondubs, джерело