SVGSVGElement
SVGSVGElement
接口提供了访问 <svg>
元素属性的方法,以及用于操作它们的函数。此接口还包含各种常用的杂项实用程序函数,例如矩阵操作以及控制视觉渲染设备上重绘时间的功能。
实例属性
此接口还继承了其父类 SVGGraphicsElement
的属性。
SVGSVGElement.x
只读-
一个
SVGAnimatedLength
,对应于给定<svg>
元素的x
属性。 SVGSVGElement.y
只读-
一个
SVGAnimatedLength
,对应于给定<svg>
元素的y
属性。 SVGSVGElement.width
只读-
一个
SVGAnimatedLength
,对应于给定<svg>
元素的width
属性。 SVGSVGElement.height
只读-
一个
SVGAnimatedLength
,对应于给定<svg>
元素的height
属性。 SVGSVGElement.pixelUnitToMillimeterX
已弃用-
一个浮点数,表示像素单位(如 CSS2 定义)沿视窗 X 轴的大小,它代表介于 70dpi 到 120dpi 之间的单位,并且在支持此功能的系统上,它可能实际上与目标介质的特征相匹配。在无法知道像素大小的系统上,将提供合适的默认像素大小。
SVGSVGElement.pixelUnitToMillimeterY
已弃用-
一个浮点数,表示像素单位沿视窗 Y 轴的大小。
SVGSVGElement.screenPixelToMillimeterX
已弃用-
DOM Level 2 中的 UI 事件指示给定 UI 事件发生的屏幕位置。当浏览器实际知道“屏幕单位”的物理尺寸时,此浮点属性将表达该信息;否则,用户代理将提供合适的默认值(例如
.28mm
)。 SVGSVGElement.screenPixelToMillimeterY
已弃用-
屏幕像素沿视窗 Y 轴的对应尺寸。
SVGSVGElement.useCurrentView
已弃用 非标准-
当前最内层 SVG 文档片段的初始视图(即放大和平移之前)可以是“标准”视图(即基于
<svg>
元素上的属性,例如viewBox
),也可以是“自定义”视图(即指向特定<view>
或其他元素的超链接)。如果初始视图是“标准”视图,则此属性为false
。如果初始视图是“自定义”视图,则此属性为true
。 SVGSVGElement.currentView
已弃用 非标准-
一个
SVGViewSpec
,定义了当前最内层 SVG 文档片段的初始视图(即放大和平移之前)。含义取决于具体情况:如果初始视图是“标准”视图,则viewBox
、preserveAspectRatio
和zoomAndPan
在currentView
中的值将与直接在SVGSVGElement
上的对应 DOM 属性的值匹配transform
在currentView
中的值将为null
如果初始视图链接到一个
<view>
元素,则viewBox
、preserveAspectRatio
和zoomAndPan
在currentView
中的值将对应于给定<view>
元素的相应属性transform
在currentView
中的值将为null
如果初始视图链接到另一个元素(即,不是
<view>
元素),则viewBox
、preserveAspectRatio
和zoomAndPan
在currentView
中的值将与最近的祖先<svg>
元素上直接在SVGSVGElement
上的相应 DOM 属性的值匹配transform
在currentView
中的值将为null
如果初始视图使用 SVG 视图规范片段标识符(即,
#svgView(…)
)链接到 SVG 文档片段,则viewBox
、preserveAspectRatio
、zoomAndPan
、transform
在currentView
中的值将对应于 SVG 视图规范片段标识符中的值
SVGSVGElement.currentScale
-
在最外层的
<svg>
元素上,此浮点属性指示相对于初始视图的当前缩放因子,以考虑用户放大和平移操作。DOM 属性currentScale
和currentTranslate
等效于 2×3 矩阵[a b c d e f] = [currentScale 0 0 currentScale currentTranslate.x currentTranslate.y]
。如果启用了“放大”(即,zoomAndPan="magnify"
),则效果就像在 SVG 文档片段的最外层(即,最外层<svg>
元素之外)放置了一个额外的变换一样。 SVGSVGElement.currentTranslate
只读-
一个
SVGPoint
,表示考虑用户“放大”的平移因子,对应于最外层的<svg>
元素。对于不在最外层的<svg>
元素,行为未定义。
实例方法
此接口还继承了其父类 SVGGraphicsElement
的方法。
SVGSVGElement.suspendRedraw()
已弃用-
接受一个超时值,指示在
相应的
unsuspendRedraw()
调用已完成、unsuspendRedrawAll()
调用已完成或其计时器已超时之前,不应进行重绘。在不支持交互性的环境(例如,印刷媒体)中,不应暂停重绘。
suspendRedraw()
和unsuspendRedraw()
的调用应该成对,但不需要成对。为了在发生一系列 SVG DOM 更改时暂停重绘操作,请使用类似于以下方法调用的方法在对 SVG DOM 进行更改之前进行更改
jsconst suspendHandleID = suspendRedraw(maxWaitMilliseconds);
并在更改之后使用类似于以下方法调用的方法进行更改
jsunsuspendRedraw(suspendHandleID);
请注意,可以同时使用多个
suspendRedraw()
调用,并且每个此类方法调用都独立于其他suspendRedraw()
方法调用。 SVGSVGElement.unsuspendRedraw()
已弃用-
通过提供先前
suspendRedraw()
调用返回的唯一暂停句柄 ID 来取消指定的suspendRedraw()
。 SVGSVGElement.unsuspendRedrawAll()
已弃用-
取消所有当前活动的
suspendRedraw()
方法调用。此方法在 SVG DOM 调用集的最后最有用,以确保已取消所有挂起的suspendRedraw()
方法调用。 SVGSVGElement.forceRedraw()
已弃用-
在支持交互性的渲染环境中,强制用户代理立即重绘视口中需要更新的所有区域。
SVGSVGElement.pauseAnimations()
-
暂停(即,暂停)当前在对应于此
<svg>
元素的 SVG 文档片段中定义的所有正在运行的动画,导致对应于此文档片段的动画时钟静止,直到它被取消暂停。 SVGSVGElement.unpauseAnimations()
-
恢复(即,取消暂停)当前在 SVG 文档片段中定义的正在运行的动画,导致动画时钟从它被暂停的时间继续运行。
SVGSVGElement.animationsPaused()
-
如果此 SVG 文档片段处于暂停状态,则返回
true
。 SVGSVGElement.getCurrentTime()
-
返回相对于当前 SVG 文档片段的开始时间的当前时间(以秒为单位)。如果在文档时间线开始之前调用
getCurrentTime()
(例如,通过在文档的SVGLoad
事件分发之前在<script>
元素中运行的脚本),则返回0
。 SVGSVGElement.setCurrentTime()
-
调整此 SVG 文档片段的时钟,建立一个新的当前时间。如果在文档时间线开始之前调用
setCurrentTime()
(例如,通过在文档的SVGLoad
事件分发之前在<script>
元素中运行的脚本),则方法最后一次调用的秒值将是文档在文档时间线开始后将跳转到的时间。 SVGSVGElement.getIntersectionList()
-
返回一个
NodeList
,其中包含其渲染内容与提供的矩形相交的图形元素。每个候选图形元素仅在相同图形元素可以是pointer-events
处理中定义的指针事件的目标时才被视为匹配。 SVGSVGElement.getEnclosureList()
-
返回一个
NodeList
,其中包含其渲染内容完全包含在提供的矩形内的图形元素。每个候选图形元素仅在相同图形元素可以是pointer-events
处理中定义的指针事件的目标时才被视为匹配。 SVGSVGElement.checkIntersection()
-
如果给定元素的渲染内容与提供的矩形相交,则返回
true
。每个候选图形元素仅在相同图形元素可以是pointer-events
处理中定义的指针事件的目标时才被视为匹配。 SVGSVGElement.checkEnclosure()
-
如果给定元素的渲染内容完全包含在提供的矩形内,则返回
true
。每个候选图形元素仅在相同图形元素可以是pointer-events
处理中定义的指针事件的目标时才被视为匹配。 SVGSVGElement.deselectAll()
-
取消选择任何选定的对象,包括任何文本字符串和键入栏的选择。
SVGSVGElement.createSVGNumber()
-
在任何文档树之外创建一个
SVGNumber
对象。对象初始化为0
。 SVGSVGElement.createSVGLength()
-
在任何文档树之外创建一个
SVGLength
对象。对象初始化为0
个用户单位。 SVGSVGElement.createSVGAngle()
-
在任何文档树之外创建一个
SVGAngle
对象。对象初始化为0
度(无单位)的值。 SVGSVGElement.createSVGPoint()
-
在任何文档树之外创建一个
SVGPoint
对象。对象初始化为用户坐标系中的点(0,0)
。 SVGSVGElement.createSVGMatrix()
-
在任何文档树之外创建一个
SVGMatrix
对象。对象初始化为单位矩阵。 SVGSVGElement.createSVGRect()
-
在任何文档树之外创建一个
SVGRect
对象。对象初始化为所有值都设置为0
用户单位。 SVGSVGElement.createSVGTransform()
-
在任何文档树之外创建一个
SVGTransform
对象。对象初始化为单位矩阵变换 (SVG_TRANSFORM_MATRIX
)。 SVGSVGElement.createSVGTransformFromMatrix()
-
在任何文档树之外创建一个
SVGTransform
对象。对象初始化为给定的矩阵变换(即,SVG_TRANSFORM_MATRIX
)。参数矩阵中的值将被复制,矩阵参数不会作为SVGTransform::matrix
采用。 SVGSVGElement.getElementById()
-
在此 SVG 文档片段(即,搜索仅限于文档树的子集)中搜索
id
由elementId
给出的 Element。如果找到 Element,则返回该 Element。如果不存在此类元素,则返回null
。如果多个元素具有此 ID,则行为未定义。
事件处理程序
以下 Window
onXYZ
事件处理程序属性也可用作针对 window
对象的别名。但是,建议直接在 window
对象上监听它们,而不是在 SVGSVGElement
上监听它们。
注意:对 SVGSVGElement
使用 addEventListener()
对于下面列出的 onXYZ
事件处理程序将不起作用。请改为在 window
对象上监听事件。
SVGSVGElement.onafterprint
-
在关联的文档开始打印或打印预览关闭后触发。
SVGSVGElement.onbeforeprint
-
在即将打印或预览打印关联的文档时触发。
SVGSVGElement.onbeforeunload
-
在窗口、文档及其资源即将被卸载时触发。
SVGSVGElement.ongamepadconnected
-
在浏览器检测到游戏手柄已连接或第一次使用游戏手柄的按钮/轴时触发。
SVGSVGElement.ongamepaddisconnected
-
在浏览器检测到游戏手柄已断开连接时触发。
SVGSVGElement.onhashchange
-
在 URL 的片段标识符更改时触发(URL 中以
#
符号开头并跟随#
符号的部分)。 SVGSVGElement.onlanguagechange
-
在用户的首选语言更改时触发。
SVGSVGElement.onmessage
-
在窗口收到消息时触发,例如来自另一个浏览上下文的
Window.postMessage()
调用。 SVGSVGElement.onmessageerror
-
在窗口收到无法反序列化的消息时触发。
SVGSVGElement.onoffline
-
在浏览器失去对网络的访问权限并且
Navigator.onLine
的值切换为false
时触发。 SVGSVGElement.ononline
-
当浏览器获得网络访问权限且
Navigator.onLine
的值变为true
时触发。 SVGSVGElement.onpagehide
-
当浏览器在呈现会话历史记录中的不同页面时隐藏当前页面时触发。
SVGSVGElement.onpageshow
-
当浏览器由于导航而显示窗口的文档时触发。
SVGSVGElement.onpopstate
-
当用户浏览会话历史记录时,活动历史记录条目更改时触发。
SVGSVGElement.onrejectionhandled
-
每当 JavaScript
Promise
被拒绝且拒绝已处理时触发。 SVGSVGElement.onstorage
-
当在另一个文档的上下文中修改存储区域(
localStorage
)时触发。 SVGSVGElement.onunhandledrejection
-
每当
Promise
被拒绝但拒绝未处理时触发。 SVGSVGElement.onunload
-
当文档正在卸载时触发。
规范
规范 |
---|
可缩放矢量图形 (SVG) 2 # InterfaceSVGSVGElement |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。