Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Mengakses Elemen SVG daripada Fail Dijana Illustrator dengan JavaScript?

Bagaimana untuk Mengakses Elemen SVG daripada Fail Dijana Illustrator dengan JavaScript?

Patricia Arquette
Patricia Arquetteasal
2024-11-12 07:22:02417semak imbas

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

Mengakses Elemen SVG dengan JavaScript daripada Fail SVG Dijana Illustrator

Seperti yang dibincangkan, mengakses elemen SVG dengan JavaScript daripada fail SVG yang dibuat dalam Adobe Illustrator memang boleh dilakukan tanpa menggunakan perpustakaan pihak ketiga seperti Raphaël atau jQuery SVG.

Untuk mencapai ini:

1. Muatkan Fail SVG Secara Asynchronous:

Sertakan HTML5 elemen untuk memuatkan fail SVG secara tidak segerak dan mengakses model objek dokumennya (DOM).

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

2. Tambah Pendengar Acara Muatkan:

Lampirkan pendengar acara muatkan pada untuk melaksanakan fungsi panggil balik apabila dokumen SVG selesai dimuatkan dan DOMnya tersedia.

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

3. Dapatkan DOM Dalaman dan Elemen Akses:

Dalam panggilan balik acara muatkan, manipulasi DOM dalaman dokumen SVG dengan mendapatkannya:

var svgDoc = a.contentDocument;

Menggunakan rujukan ini kepada svgDoc, anda boleh mengakses elemen tertentu mengikut ID mereka menggunakan getElementById kaedah:

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

4. Tambah Pengendali Acara:

Setelah anda mempunyai akses kepada elemen, anda boleh melampirkan pengendali acara untuk gelagat. Contohnya, untuk menambah pengendali klik pada elemen 'delta':

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

Penghadan:

Teknik ini tertakluk pada dasar asal yang sama. Oleh itu, fail SVG mesti dihoskan pada domain yang sama dengan fail HTML untuk memastikan akses kepada DOM dalaman.

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Elemen SVG daripada Fail Dijana Illustrator dengan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn