JavaScript 및 SVG에 문제가 있습니다. CTRL (또는 ALT) 키를 누른 채로 SVG 요소 위로 mouseDown 이벤트를 실행하면 브라우저 (Firefox)가 새 탭/창을 엽니 다. 새 탭이나 창을 열지 않고 SVG 문서를 조작하는 함수를 호출하고 싶습니다. 나는 브라우저의 속성에 관심이 없다. 저는 다른 코드를 다루었지만 같은 조건에서 SVG 요소를 클릭해도 아무 일도 일어나지 않습니다. 그러나 이것은 9000 라인이 넘는 레거시 코드이며 브라우저가 동작하는 이유를 식별 할 수 없습니다 다르게.브라우저가 JavaScript로 새 탭/창을 열지 못하도록하려면 어떻게합니까?
새 탭/창을 피하기 위해 설정할 수있는 SVG 문서의 속성이 있는지 알고 싶습니다.
사실,이 문제는 svg의 hte xlink에 관한 것입니다. 나는 문자
<symbol id="TANQs">
<path d="m 97,42 a74,74 0 0,0 -94,0" />
<rect x="3" y="42" width="94" height="26" />
</symbol>
로 정의 된 몇 가지 항목을 가지고 그리고 위의 예처럼, 너무 사용 요소를 가질 :
<use id="TQ-43120" x="100" y="200" **xlink:href="#TANQs"** onmouseover="mouseOver(evt)" onmouseout="mouseOut(evt)" oculto="false">
<lasca:segmento tag="2"-HC-310-1702-Ba-V-B1-SEG1"/>
</use>
내가 사용 요소를 통해 클릭 브라우저가 생각이 발생할 때 내 문제가 발생합니다 그것들은 일반 링크와 비슷합니다. 그래서 hte ctrl 키를 클릭하면 새 탭이 열립니다. 이 브라우저의 동작을 피할 수있는 방법이 있는지 알고 싶습니다.
제안한대로 preventDefault() 및 stopPropagation() 명령이 작동하지 않는 것 같습니다.
자바 스크립트 코드의 예를 게시하고 지금까지 시도한 내용 – Curt
링크로 사용하는 것이 아니라 클릭 동작이있는 것처럼 링크로 사용한다고 상상하십니까? –
9000 개가 넘습니다 !!! –