Я пытаюсь добавить onClick обработчик к внедренному объекту. Обработчик должен выполнить функцию, которая находится во внешнем .js файле, который связан с текущим файлом HTML через <script src="...
.
Я должен сослаться на функцию по-другому из-за него располагаемый в другом месте?
Вот код, поскольку он в настоящее время стоит (который не работает, но также и не производит ошибок):
<embed src="svg/button.svg" id="buttonEmbed" width="95" height="53"
type="image/svg+xml" onClick="buttonEvent('buttonClicked')"/>
Вы должны реализовать onclick внутри svg и связать его с внешней функцией JavaScript, используя javascript внутри svg. См. Примеры в вики по SVG.
Обновление: по всей видимости, вики по SVG больше нет. Неудивительно, что лучшие ссылки, которые я могу (быстро) найти, находятся на самом StackOverflow.
Используйте любую привязку javascript ( Марио Менгер уже ответил на это).
Если вы не можете или не хотите использовать привязку, вы можете использовать то, что xil3 ответил с одной модификацией:
Используйте пустой тег привязки
в качестве потребителя кликов. Установите его z-index и положение / размер так, чтобы он располагался над объектом svg (для кроссбраузерной совместимости).
Onclick должен быть в нижнем регистре.
<embed src="svg/button.svg" id="buttonEmbed" width="95" height="53"
type="image/svg+xml" onclick="alert('hello!');"/>