Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SVG中嵌入JavaScript_Javascript_Svg - Fatal编程技术网

在SVG中嵌入JavaScript

在SVG中嵌入JavaScript,javascript,svg,Javascript,Svg,我需要制作出更具互动性的电路图像 我的计划是使用标准EDA工具绘制电路,并将其存储为SVG文件。然后,任何现代浏览器都可以打开存储为SVG的文件 我现在想做的是在SVG中添加一点JavaScript代码。当用户将鼠标悬停在回路的某些部分上时,脚本必须弹出描述这些部分的工具提示。例如,当用户将鼠标放在IC上时,该IC的描述将立即弹出 在SVG XML中对电路进行了合理的注释 根据我到目前为止的推断,JavaScript无法自动找出鼠标当前悬停在哪个框/线上。当然,它会发现是否有一个查找表,该表将图

我需要制作出更具互动性的电路图像

我的计划是使用标准EDA工具绘制电路,并将其存储为SVG文件。然后,任何现代浏览器都可以打开存储为SVG的文件

我现在想做的是在SVG中添加一点JavaScript代码。当用户将鼠标悬停在回路的某些部分上时,脚本必须弹出描述这些部分的工具提示。例如,当用户将鼠标放在IC上时,该IC的描述将立即弹出

在SVG XML中对电路进行了合理的注释

根据我到目前为止的推断,JavaScript无法自动找出鼠标当前悬停在哪个框/线上。当然,它会发现是否有一个查找表,该表将图像坐标映射到回路注释

这意味着每次电路改变时,查找表也需要更新


有没有一种更简单的方法可以找到(没有查找表)鼠标悬停的带注释的框/线/组件?

使用HTML5,您只需将SVG放在HTML中即可;内联SVG。在那里,您可以为普通浏览器元素事件添加侦听器,一切都将正常工作

我不久前写了一篇关于它的博客,来源如下:

angular.module('yenlo.blog',[]);
angular.module('yenlo.blog').controller('ChartController',函数($scope,$timeout){
$scope.items=[
{高度:100,颜色:'red',内容:'A'},
{高度:120,颜色:'绿色',内容:'B'},
{高度:140,颜色:'blue',内容:'C'}
];
setInterval(函数(){
$scope.items.forEach(函数(项){
item.height+=(Math.random()-0.5)*5;
});
$scope.$digest();
}, 100);
$scope.selected=$scope.items[0];
$scope.select=功能(项){
$scope.selected=项目;
};
});


当前正在观看{{selected.content},在{{selected.height}


如果您只需要简单的文本工具提示,请参阅.Upvoted。是的,这很有效。