xia*_*oke 1 svg dom dom-events
我在SVG中创建一个简单的路径,并使用该mark-end
属性创建箭头线.然后我将click事件绑定到路径.
我发现单击标记区域时未触发click事件.如何解决这个问题?
根据规范,这应该被认为是给定的.
11.6.4有关如何渲染标记的详细信息
[...]
标记的渲染效果就好像所引用的"标记"元素的内容被深深地克隆到标记的每个实例的单独的非暴露DOM树中.由于克隆的DOM树是非暴露的,因此SVG DOM不会显示标记的克隆实例.
当指针事件发生时,将通过遍历SVG的DOM树来执行命中测试,从而省略任何未暴露的阴影DOM树.这就是为什么标记实例不可能成为指针事件的目标的原因.
为了澄清,可能有趣的是,在通过CSS规则设置标记实例时也是如此,这是不可行的.只有原来的标记元件,即,声明<marker>
的元素,是风格化使用CSS,而克隆的实例通过属性引用marker-start
,marker-mid
或者marker-end
是不可访问的,因此不单独风格化.
CSS2选择器可以应用于原始(即引用)元素,因为它们是正式文档结构的一部分.CSS2选择器不能应用于(概念上)克隆的DOM树,因为它的内容不是正式文档结构的一部分.
归档时间: |
|
查看次数: |
359 次 |
最近记录: |