Событие SVG onclick не запускается на устройствах iOS - PullRequest
0 голосов
/ 28 марта 2019

У меня есть SVG с прямоугольным дочерним элементом. Дочерний объект прямоугольника имеет событие onclick, которое получает другой элемент по его идентификатору и меняет цвет фона. Это работает в Chrome на моем рабочем столе, а также в эмуляторах iOS в инспекторе Chrome. Однако это не вызывает событие на устройствах iOS.

Что я могу изменить в своем коде для работы как на настольных компьютерах, так и на устройствах iOS? Стоит ли мне слушать дополнительное событие?

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" style="height: 200px; width: 200px; border: 4px dashed salmon;">
    <rect x="25" y="25" height="50" width="50" style="cursor: pointer; fill: gold;" onclick="getElementById('box').style.backgroundColor = 'gold';"></rect>
</svg>
<div id="box" style="height: 200px; width: 200px; background-color: skyblue;"></div>

Вот код CodePen .

1 Ответ

0 голосов
/ 28 марта 2019

Вы должны вызвать getElementById() как метод document явно:

onclick="document.getElementById('box').style.backgroundColor = 'gold';"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...