>웹 프론트엔드 >JS 튜토리얼 >JavaScript를 사용하여 Illustrator 생성 파일에서 SVG 요소에 액세스하는 방법은 무엇입니까?

JavaScript를 사용하여 Illustrator 생성 파일에서 SVG 요소에 액세스하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-12 07:22:02518검색

How to Access SVG Elements from Illustrator-Generated Files with JavaScript?

Illustrator에서 생성된 SVG 파일에서 JavaScript를 사용하여 SVG 요소에 액세스

설명한 대로 Adobe Illustrator에서 생성된 SVG 파일에서 JavaScript를 사용하여 SVG 요소에 액세스 Raphaël 또는 jQuery SVG와 같은 타사 라이브러리를 활용하지 않고도 실제로 가능합니다.

이를 달성하려면:

1. SVG 파일을 비동기식으로 로드:

HTML5 SVG 파일을 비동기적으로 로드하고 DOM(문서 개체 모델)에 액세스하는 요소입니다.

<object data="alpha.svg" type="image/svg+xml">

2. 로드 이벤트 리스너 추가:

로드 이벤트 리스너를 SVG 문서 로드가 완료되고 해당 DOM을 사용할 수 있게 되면 콜백 함수를 실행합니다.

<script>
    var a = document.getElementById("alphasvg");
    a.addEventListener("load",function(){
        // code here executes after SVG loads
    }, false);
</script>

3. 내부 DOM 및 액세스 요소 검색:

load 이벤트 콜백 내에서 이를 검색하여 SVG 문서의 내부 DOM을 조작합니다.

var svgDoc = a.contentDocument;

svgDoc에 대한 이 참조를 사용하여 액세스할 수 있습니다. getElementById 메소드를 사용하여 ID로 특정 요소를 지정합니다.

var delta = svgDoc.getElementById("delta");

4. 이벤트 핸들러 추가:

요소에 액세스하면 동작에 대한 이벤트 핸들러를 연결할 수 있습니다. 예를 들어 '델타' 요소에 클릭 핸들러를 추가하려면:

delta.addEventListener("mousedown",function(){
    alert('hello world!')
}, false);

제한 사항:

이 기술에는 동일 출처 정책이 적용됩니다. 따라서 내부 DOM에 대한 액세스를 보장하려면 SVG 파일이 HTML 파일과 동일한 도메인에서 호스팅되어야 합니다.

위 내용은 JavaScript를 사용하여 Illustrator 생성 파일에서 SVG 요소에 액세스하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.