Как добавить обработчик JavaScript onClick к встроенному объекту HTML?

Я пытаюсь добавить onClick обработчик к внедренному объекту. Обработчик должен выполнить функцию, которая находится во внешнем .js файле, который связан с текущим файлом HTML через <script src="....

Я должен сослаться на функцию по-другому из-за него располагаемый в другом месте?

Вот код, поскольку он в настоящее время стоит (который не работает, но также и не производит ошибок):

<embed src="svg/button.svg" id="buttonEmbed" width="95" height="53" 
type="image/svg+xml" onClick="buttonEvent('buttonClicked')"/>
6
задан starblue 2 July 2010 в 17:41
поделиться

3 ответа

Вы должны реализовать onclick внутри svg и связать его с внешней функцией JavaScript, используя javascript внутри svg. См. Примеры в вики по SVG.

Обновление: по всей видимости, вики по SVG больше нет. Неудивительно, что лучшие ссылки, которые я могу (быстро) найти, находятся на самом StackOverflow.

Этот ответ описывает, как реализовать onclick внутри svg .

9
ответ дан 9 December 2019 в 22:28
поделиться

Используйте любую привязку javascript ( Марио Менгер уже ответил на это).

Если вы не можете или не хотите использовать привязку, вы можете использовать то, что xil3 ответил с одной модификацией:

Используйте пустой тег привязки в качестве потребителя кликов. Установите его z-index и положение / размер так, чтобы он располагался над объектом svg (для кроссбраузерной совместимости).

2
ответ дан 9 December 2019 в 22:28
поделиться

Onclick должен быть в нижнем регистре.

<embed src="svg/button.svg" id="buttonEmbed" width="95" height="53" 
type="image/svg+xml" onclick="alert('hello!');"/>
0
ответ дан 9 December 2019 в 22:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: