Как выполнить js функцию HTML из SVG в объекте?
<object
type="image/svg+xml"
data="display.svg">
<script type="text/javascript">
function hop(name, evt) {
console.log('!!!')
}
</script>
Или как инжектнуть скрипт в объект?
Цель получить клик по <path> с параметрами evt.target или хотяб id в js главного фрейма.
Ответы (1 шт):
Автор решения: eri
→ Ссылка
Пока сделал на jquery
<!DOCTYPE html>
<html>
<head>
<script src="https://code.jquery.com/jquery-3.6.0.js"></script>
</head>
<body>
<div id=map></div>
<script type="text/javascript">
function hop(name, evt) {
console.log('!!!')
}
window.onload = (function (){
$('#map').load('display.svg')
})
</script>
</body>
</html>
svg вставляется в div без обертки object, скрипт внутри и снаружи исполняется как нужно.
Функция hop вызфвается из
...
<path
style="fill:#00cc00;fill-opacity:1;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 74.646387,123.56036 -0.02103,-12.25607 -12.697325,-0.0459 -0.07117,12.29129 z"
id="path1079"
onmouseover="hop('вошел',evt)"
onmouseout="hop('вышел',evt)" />