У меня есть файл SVG, он состоит из нескольких ссылок. Когда пользователь нажимает на ссылку, страница должна показывать результаты.вызов функции javascript из файла SVG
Файл SVG содержит различную генетическую информацию, необходимо показать несколько результатов.
Onclick Мне нужно вызвать функцию JavaScript для обработки результата. Но javascript: myfunction(); не вызывает, когда я нажимаю на SVG-файл. Не стесняйтесь предлагать любые альтернативные решения или любые обходные пути.
Я думаю, что вопрос не очень ясен. обновляющая информация
У меня есть файл SVG. сохраните его как файл mysvg.svg в вашей системе.
<svg>
<g id="US">
<rect x='10' y='10' fill='#000000' height='100' width='100'></rect>
</g>
<g id="CA">
<rect x='150' y='10' fill='#0000FF' height='100' width='100'></rect>
</g>
<a xlink:href="#crisp">
<rect x="10" y="10" width="164.05078125" style="fill:none; stroke:none" height="100" pointer-events="fill" />
</a>
</svg>
Мой HTML-файл.
$(document).ready(function() {
$("a").click(function() {
alert('hi');
});
loadSVGasXML();
});
function loadSVGasXML() {
var SVGFile="myfile.svg"
var loadXML = new XMLHttpRequest();
function handler(){
var svgDiv = document.all.svgDiv;
if(loadXML.readyState == 4 && loadXML.status == 0) {
var xmlString=loadXML.responseText
svgDiv.innerHTML=xmlString
fitSVGinDiv()
}
}
if (loadXML != null) {
loadXML.open("GET", SVGFile, true);
loadXML.onreadystatechange = handler;
loadXML.send();
}
}
function fitSVGinDiv(){
var divWH=60
var mySVG=document.getElementsByTagName("svg")[0]
var bb=mySVG.getBBox()
var bbw=bb.width
var bbh=bb.height
//--use greater of bbw vs bbh--
if(bbw>=bbh)
var factor=bbw/divWH
else
var factor=bbh/divWH
var vbWH=divWH*factor
var vbX=(bbw-vbWH)/2
var vbY=(bbh-vbWH)/2
mySVG.setAttribute("viewBox",vbX+" "+vbY+" "+vbWH+" "+vbWH)
mySVG.setAttribute("width","100%")
mySVG.setAttribute("height","100%")
}
</script>
<body>
<!--<a href="#crisp"> hi </a>-->
<div id="svgDiv">
</div>
<br>
<br>
<a id="crisp"> hello</a>
</div>
</body>
</html>`
Пожалуйста, добавьте больше, так что это выглядит, как будто длинную страницу. Я хочу зафиксировать функцию привязки привязки тега привязки в моем файле svg.
Добавить код. Попробуйте использовать 'onclick' вместо' javascript: 'URI Schema. – Pinal
Я думаю, что вопрос не очень ясен. – nutim
Можете ли вы сделать код SVG более удобным для чтения, правильно отпечатав его? –