我對什麼導致DOM異常12感到茫然。我能找到什麼是它必須處理無效的選擇器?從SVG中選擇節點作爲參數拋出DOM異常12
有關背景:
我們擁有的分佈圖是有很多在IT圈裏的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')
我們有機會獲得D3經由this.svg
在懸停事件包裹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(」圈「)並確認節點e.currentTarget
確實存在於該組中。
任何意見或幫助表示感謝,感謝您的時間。
啊,謝謝你,這讓一切都變得有意義了。我得到的是r2d3的要求,它說svg元素的選擇器需要從svg元素中選擇。如果您已經有了對節點的引用,那麼這是不必要的,因爲您無法像第一個節點那樣選擇節點。 – JamesH