获取给定坐标处的 SVG-Object_s?

2023-12-11

我想通过坐标从 SVG 文件获取对象 ID。

例如在

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
   xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1"
   height="50" width="50">
   <rect id="rectRED"
	x="15" y="5" height="30" width="30"
        style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-width:1.5" />
   <rect id="rectBLUE"
	x="5" y="15" height="30" width="30"
        style="fill:#0000ff;fill-opacity:0.5;stroke:#000000;stroke-width:1.5" />
</svg>
  • getObjectsAt(10,25)应该返回一个包含的列表rectBLUE
  • getObjectsAt(25,25)应该返回一个包含的列表rectRED and rectBLUE
  • getObjectsAt(10,10)应该返回类似的东西NIL

有办法做到这一点吗?


There's document.elementFromPoint方法,但它只返回最顶层的元素。要获取某个点下的所有元素,您可以找到最上面的一个,将其隐藏并再次查看该点,直到不再有元素为止:

var elementsAt = function( x, y ){
    var elements = [], current = document.elementFromPoint( x, y );
    // at least one element was found and it's inside a ViewportElement
    // otherwise it would traverse up to the <html> root of jsfiddle webiste.
    while( current &&  current.nearestViewportElement ){
        elements.push( current );
        // hide the element and look again
        current.style.display = "none";
        current = document.elementFromPoint( x, y );
    }
    // restore the display
    elements.forEach( function( elm ){
       elm.style.display = ''; 
    });
    return elements;
}

http://jsfiddle.net/duo02d38/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取给定坐标处的 SVG-Object_s? 的相关文章

  • Android Vector Drawable 不支持。如何修复它?

    尝试从 AndroidStudio 2 2 Ubuntu 14 04 的本地 svg 文件生成矢量资源时出现此错误 Could not generate a preview In icon svg ERROR line 6
  • 两组点之间的距离[重复]

    这个问题在这里已经有答案了 因此 在查看了 stackoverflow 上提出的各种问题后 我仍然无法理解 R 中的 dist 函数 甚至无法理解一般的距离矩阵 所以我有两个带有 xy 坐标的数据框 df1 lt data frame x
  • svg 圆不是用 javascript 绘制的

    我一直在尝试使用 HTML 中的 javascript 来进行 svg 操作的 hello world 我编写了下面的代码 虽然它生成了正确的 html 但我在浏览器中没有看到任何输出 也没有看到任何错误
  • SVG 文本元素上的 CSS 转换在 Safari 中不起作用

    尝试在父 SVG 中放置电池指示器 SVG
  • 如何逐步绘制矢量路径? (拉斐尔.js)

    如何逐步动画化矢量路径 就像它被绘制一样 换句话说 慢慢地逐像素地显示路径 我在用着Rapha l js but如果您的答案不是特定于库的 例如可能有一些通用的编程模式可以完成此类事情 我对矢量动画相当陌生 欢迎 使用直线路径很容易做到 就
  • D3.js分组条形图

    I am making a bar chart using D3 js like this source statcan gc ca http www statcan gc ca pub 12 593 x 2007001 figures f
  • 仅当现有填充颜色为特定值时才填充 SVG

    我正在使用此代码来更改 SVG 对象的填充颜色 它可以工作 function g mouseenter function path rect circle this attr fill 00C8C8 但是 我只想在现有填充颜色具有特定值时更
  • 检测 SVGAnimatedString 的类名

    我在构建 SVG 地图时遇到问题 触发的功能 g 上的 onmouseover 不起作用 我当时用的 window onmouseover function e console log e target className 查看类名是否有问
  • 2 个 SVG 路径的交集

    我需要检查两个 SVG Path 元素是否相交 检查边界框与 getBBox 太不准确了 我目前正在做的是迭代两条路径 getTotalLength 然后检查是否有两个点 getPointAtLength 是平等的 下面是一个片段 但正如您
  • 限制在三角形内

    我正在寻找一段通用代码 javascript 它可以与 jquery UI 一起使用来限制三角形内 div 的移动 拖动 与此类似 http stackoverflow com questions 8515900 how to constr
  • 使用 PHP 将 SVG 图像转换为 PNG

    我正在开发一个网络项目 该项目涉及动态生成的美国地图 根据一组数据为不同的州着色 这个 SVG 文件为我提供了一张很好的美国空白地图 并且很容易更改每个州的颜色 困难在于 IE 浏览器不支持 SVG 因此为了让我使用 svg 提供的便捷语法
  • 自定义 SVG 未加载到我的图像标签中

    目前我正在尝试将自定义 svg 组件加载到图像标签内 但由于某种原因 我无法看到地图组件内的 svg 图像 我的自定义 SVG 文件如下所示 我在 SVG 中加载另一个图像
  • Safari 滚动条和 SVG

    问题 Safari 无法正常工作 而是使用滚动条渲染我的 SVG 图像 问题的改进版本 如何填充设定的宽度并根据 Safari 中的宽高比计算高度 感谢普罗格兹 相关代码 SVG File viewBox 0 0 800 800 未指定高度
  • 验证纬度和经度

    我想验证纬度和经度 现在 我只是检查该值是否不为空 但我想要进行验证以检查它是否是有效的纬度或经度 我怎么做 我的财产是这样的 public string Lat get return this lat set base Validatio
  • CSS使背景图像使用字体字符

    我想使用字体字符 例如来自 font awesome 作为输入元素的背景图像
  • 有没有办法将 SWF 转换为 SVG 格式?

    有没有办法将 FLA 或 SWF 转换为 SVG 格式 它可以是一个软件吗 或者甚至是网络转换器 我尝试了一些方法 但没有一个有效 所有这些似乎都已经过时了 不 SWF 支持的功能太多 而 SVG 格式无法创建有效的 SWF 版本 如果您只
  • 悬停时为 SVG 制作动画

    我正在尝试在悬停时为 SVG 文件设置动画 默认情况下 它可以使用 svg 函数实现出色的动画效果 例如
  • 让用户渲染自己的 SVG 文件的安全隐患

    我计划让网站用户上传他们自己的 SVG 文档并使用inkscape or svg2pdf 用户要么未经身份验证 要么经历一个简单的注册过程 所以我预计会有一些黑客尝试 我可以采取哪些过滤措施来最大程度地减少安全威胁 Inkscape 似乎并
  • 将 SVG 路径转换为绝对命令

    给定一个 SVG Path 元素 如何将所有路径命令转换为绝对坐标 例如 转换此路径
  • 为什么我的 D3 SVG 图上的轴不会更新?

    I have 简单的 D3 散点图 http www raxacoricofallapatorius com test scattertest html我在显示数据的几个不同属性之间切换 但是虽然我可以更改数据点 并按照我想要的方式进行转换

随机推荐

  • 在div之上创建一个浮动div

    我正在尝试创建类似以下的内容 div 1 div2 on top of div1 div3 div2 div3 我想创建一个div2在两者之上div1 and div3 我真的不知道如何做到这一点 有人可以帮我吗 谢谢 您
  • SwiftUI @Binding 初始化

    一直在玩 SwiftUI 并理解了这个概念BindableObjects到目前为止等等 至少我希望如此 我遇到了一个愚蠢的问题 我似乎找不到答案 你如何初始化一个 Binding多变的 我有以下代码 struct LoggedInView
  • 将不同的格式应用于不同的列数据框

    我有以下 df table A B C D 0 0 000000 0 000000 0 002520 0 002520 1 0 209772 0 016262 0 003411 0 024343 2 0 006474 0 000152 0
  • c++ OpenCV 将 Mat 转换为一维数组

    我有这个Mat Mat testDataMat 386 2 CV 32FC1 testDataFloat 其中取自 float testDataFloat 386 2 但我不知道如何将它变成一维数组 有什么帮助吗 样本包括 从浮点二维数组转
  • android viewPager 实现 [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我的任务是向右滚动到另一个屏幕 然后按图标并显示弹出窗口 我想用ViewPager在两个
  • 在gui线程中触发异步事件

    TL DR 我正在寻找一种方法让一个线程在另一个线程中引发事件 EDIT 我说的是 立即 这个词 正如一些评论者指出的那样 这是不可能的 我的意思是 如果 gui 线程空闲的话 它应该相当快地发生 在低毫秒到纳秒的范围内 如果我做得正确 它
  • CSS3 过渡 + 不显示 + 防止过度滚动

    因此 如果您还不熟悉 CSS3 过渡不会产生动画display none因为它从 DOM 中完全删除了目标元素 这是我的问题 我有一个侧边栏 其中悬停时会出现更大的弹出 div 不幸的是 因为我只能过渡visibility hidden a
  • 在 Express (node.js) 中动态限制上传文件大小

    我正在开发一个简单的应用程序 允许用户上传他们的内容 我想限制 Express 接受的文件大小 我知道我可以使用 app use express limit 2mb 但是我要动态改变限制 某些用户会有更高的限制 最好的解决方案是首先检查co
  • 为什么 Django 迁移在每一行上使用相同的随机默认值?

    Note 我理解并且很清楚将函数作为参数传递和调用函数并将结果作为参数传递之间的区别 我相信我正确地传递了该函数 Specs 姜戈 1 11 PostgreSQL 10 4 设想 我的应用程序中有数十个模型 并且有许多现有记录 我需要向每个
  • 检查 Inno Setup 中是否安装了 .NET 5.0

    我有以下 iss 脚本来编译我正在开发的使用 NET 5 0 的游戏启动器 目前 它每次都会尝试从安装程序安装 NET 5 0 而不是先检查是否需要 我找到了大量资源来告诉您如何针对 NET Framework 执行此操作 但几乎没有找到针
  • CollectionView 在调试中工作,但在 .NET MAUI 中的发布中不起作用

    我有以下内容
  • Swiftui 获取图像的显示尺寸

    我试图获取显示图像的尺寸 以在我使用苹果的 Vision 框架识别的文本上绘制边界框 因此 我在按下此功能的按钮后运行 VNRecognizeTextRequest func readImage image NSImage completi
  • 如何自定义(或禁用)JQuery Mobile 中的自动“后退”按钮

    是否可以自定义 或简单地禁用 JQuery Mobile 中的自动 后退 按钮 我想你正在寻找这个 http jquerymobile com demos 1 0a3 docs toolbars docs headers html 要禁用它
  • Neon:如何在jdk9上运行?

    刚开始玩 jdk9 一开始就卡住了 下载并解压 eclipse java neon m4a win32 安装了 java 9 支持 由 dnd 来自市场 下载并安装jdk9u99 仅jdk 不是公共jre 此时 我可以使用 jre jdk
  • 可以在单词发音游戏中使用WIndows语音识别引擎吗?

    我用来创建一个使用 Windows 语音识别引擎或 SAPI 的应用程序 这就像一个游戏发音当你正确发音时它会给你分数 但是当我开始使用 SAPI 进行实验时 它的识别效果很差 除非您在其上加载语法 XML 否则它会给出最佳的识别结果 但现
  • 按组查找系列中的下一个日期

    我有一些这样的数据 sample data lt rbind data table start date seq from as Date 2010 01 01 to as Date 2014 12 01 by quarter Group
  • 在我的 POST servlet 可以处理我的 uploadFile 之前,是什么“吃掉”了它?

    我在网页上使用 Infragistics IgniteUI igUpload 将文件上传到 Apache Tomcat 服务器 在上传文件时 我无法在 servlet 代码中访问它们 也许这里有人知道发生了什么 当 igUpload 通过
  • 将 NDEF 消息多次写入同一标签?

    在 Android 上 一旦 NFC 标签靠近手机 系统就会向我的应用程序传递一个意图 其中包含一个允许我读取和写入该标签的 NDEF 消息的对象 具体来说 我可以根据需要多次写入该标签 同时它仍然位于手机附近 下面的 Java 代码可以让
  • R:如何修改plotly中的图例?

    我有 3 个数值变量并通过条形图绘制它们plot ly 销售 和 分享 列通过条形图可视化 而 成本 则通过红线可视化 现在我想稍微自定义图例并在图例地图中的成本周围添加黑色边框 请参阅预期结果 df lt data frame model
  • 获取给定坐标处的 SVG-Object_s?

    我想通过坐标从 SVG 文件获取对象 ID 例如在