Saya memiliki kode dojo berikut untuk membuat elemen grafis permukaan di bawah div:
....
<script type=text/javascript>
....
function drawRec(){
var node = dojo.byId("surface");
// remove all the children graphics
var surface = dojox.gfx.createSurface(node, 600, 600);
surface.createLine({
x1 : 0,
y1 : 0,
x2 : 600,
y2 : 600
}).setStroke("black");
}
....
</script>
....
<body>
<div id="surface"></div>
....
drawRec()
akan menggambar grafik persegi panjang pertama kali. Jika saya memanggil fungsi ini lagi di anchor href seperti ini:
<a href="javascript:drawRec();">...</a>
itu akan menggambar grafik lain lagi. Yang saya butuhkan untuk membersihkan semua grafik di bawah div dan kemudian buat lagi. Bagaimana saya bisa menambahkan beberapa kode dojo untuk melakukan itu?
javascript
dojox.gfx
David.Chu.ca
sumber
sumber
Non-standar, tetapi cepat dan didukung dengan baik.
sumber
Pertama-tama Anda perlu membuat permukaan sekali dan menyimpannya di tempat yang mudah. Contoh:
domNode
biasanya tanpa hiasan<div>
, yang digunakan sebagai pengganti untuk permukaan.Anda dapat menghapus semua yang ada di permukaan dalam sekali jalan (semua objek bentuk yang ada akan tidak valid, jangan menggunakannya setelah itu):
Semua fungsi dan metode yang berhubungan dengan permukaan dapat ditemukan dalam dokumentasi resmi di dojox.gfx . Permukaan . Contoh penggunaan dapat ditemukan di
dojox/gfx/tests/
.sumber
sumber
elem.textContent = "";
namun hanya karena jQuery tidak berarti itu tidak buggy misalnya stwissel mengatakan "innerHTML hanya berfungsi jika Anda hanya berurusan dengan HTML. Jika ada misalnya SVG di dalam hanya penghapusan Elemen yang akan bekerja ". Lihat juga catatan relevan lainnya di sini: stackoverflow.com/questions/3955229/…Di Dojo 1.7 atau yang lebih baru, gunakan
domConstruct.empty(String|DomNode)
:Di Dojo yang lebih lama, gunakan
dojo.empty(String|DomNode)
(tidak digunakan lagi di Dojo 1.8):Masing-masing
empty
metode ini dengan aman menghapus semua anak dari simpul.sumber
Dari dokumentasi API dojo :
sumber
Jika Anda mencari cara modern> 1.7 Dojo untuk menghancurkan semua anak simpul ini adalah caranya:
Periksa dokumentasi "dom-construct" untuk lebih jelasnya.
sumber
domConstruct.empty()
akan lebih baik dalam hal ini.