ฉันต้องการปรับปรุงแอปพลิเคชันการวาดภาพที่ฉันสร้างด้วย JS โดยให้ผู้ใช้สามารถวาดรูปทรงต่างๆ ได้ ฉันต้องการทำให้ผู้ใช้สะดวกโดยอนุญาตให้พวกเขาลากรูปร่างเหล่านี้ไปรอบๆ ดังนั้นฉันจึงใช้ jCanvas เนื่องจากมีวิธีง่ายๆ ในการลากรูปร่าง:
$("#can").drawRect({
draggable: true,
fillStyle: "#000",
width: 100, height: 100,
x: 100,
y: 100,
});
ปัญหาคือ ฉันต้องการฟังก์ชันเพื่อลบมันอีกครั้ง ดังนั้นฉันจึงสร้างสคริปต์นี้:
<script>
$("#can").drawRect({
draggable: true,
fillStyle: "#000",
width: 100, height: 100,
x: 100,
y: 100,
});
$("#erase").click(function () {
$("#can").clearCanvas();
});
</script>
<canvas id="can" width="200px" height="150px"></canvas>
<button id="erase">Clear Canvas</button>
แม้ว่าสิ่งนี้จะไม่ทำงานก็ตาม เมื่อฉันลบ ทุกอย่างจะเคลียร์ในตอนแรก แต่เมื่อฉันพยายามวาดบนผืนผ้าใบ รูปร่างก็จะปรากฏขึ้นอีกครั้ง
ฉันตรวจสอบโค้ดของ jCanvas และดูเหมือนว่ามันจะดึงสี่เหลี่ยมจำนวนมากเมื่อลาก และล้างมันออกไปเพื่อสร้างภาพลวงตาของรูปร่างที่ถูกลาก แต่เมื่อสิ่งนี้เกิดขึ้น ผืนผ้าใบที่เคลียร์แล้วก็จะถอยกลับและมองเห็นรูปร่างอีกครั้ง
มีวิธีเคลียร์หุ่นให้หายชั่วนิรันดร์มั้ย? หรือฉันต้องโหลดหน้านี้ซ้ำจึงจะใช้งานได้?
ขอบคุณล่วงหน้า