ネイティブSVG関数を呼び出そうとしていますが、ブラウザがrect
パラメータがSVGRect
ではないと不平を言っています。私は何か違いがあるとは確信していませんが、SVGRect
はインターフェイスのようですが、それでもまだノードを受け入れるべきではありませんrect
?パラメータ1の型が 'SVGRect'ではありません
HTML:
<svg xmlns="http://www.w3.org/2000/svg" width="1920" height="884" style="opacity: 1;">
<rect class="overlay" width="1920" height="884"></rect>
</svg>
JS:
作成:
var svg = d3.select('body')
.append("svg")
.attr('xmlns',d3.ns.prefix.svg)
.attr("width", width)
.attr("height",height)
svg.append('svg:rect')
.attr('class','overlay')
.attr("width", width)
.attr("height",height)
以降:
var svg = d3.select('svg').node()
var rect = d3.select('rect.overlay').node();
var intersect = svg.checkIntersection(this,rect)
上のコードはエラーUncaught TypeError: Failed to execute 'getEnclosureList' on 'SVGSVGElement': parameter 1 is not of type 'SVGRect'.
SVGRectとrect要素は全く異なるものです。前者はデータ所有者だけでレンダリングできません。後者はレンダリングされるマークアップオブジェクトです。 APIが他のAPIを予期しているときには、それを混在させることはできません。 –
説明をありがとう。私の 'rect'要素のプロパティを反映する' SVGRect'オブジェクトへの参照をどのように取得するのですか? –