원시 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' 객체에 대한 참조를 얻으려면 어떻게해야합니까? –