我不知道是什么导致了 DOM 异常 12。我能找到的一点是它与无效的选择器有关吗?
背景:
我们有一个散点图,它是一个 SVG 对象,里面有很多圆圈。
当您将鼠标悬停在一个圆圈上时,我们希望能够访问它所代表的数据以显示工具提示。
目前我们正在通过主干监听事件(散点图属于更大的应用程序),因此我们可以通过e.currentTarget
.
在第一次通过时,我们只是做了
d3.select(e.currentTarget) // from here we can access the datum() method
但是由于我们现在想使用 VML 兼容层r2d3,需要注意的是,如果我们想选择 SVG 中的元素,我们必须从 svg 中选择。
对 SVG 元素的查询必须来自 SVG 节点。示例使用 svg.select('rect') NOT d3.select('rect')
this.svg
我们可以通过悬停事件访问 D3 包装的 SVG 元素。但是,当我打电话时:
this.svg.select(e.currentTarget)
我得到一个 DOM 异常 12。
Uncaught Error: SYNTAX_ERR: DOM Exception 12
d3_select d3.v2.js:3578
(anonymous function) d3.v2.js:372
d3_selectionPrototype.select d3.v2.js:3606
Backbone.View.extend.mouseEnterBin graph.js:828
jQuery.each.jQuery.event.special.(anonymous function).handle jquery-1.7.2.js:3616
jQuery.event.dispatch jquery-1.7.2.js:3332
jQuery.event.add.elemData.handle.eventHandle
当我debugger;
在尝试选择之前添加一行时,我可以 this.svg.selectAll('circle') 并确认该节点e.currentTarget
确实存在于该集中。
任何建议或帮助表示赞赏,感谢您的时间。