איך להפוך אלמנט לניתן לגרירה

נשים את קוד JS הבא בתוך ווידג'ט HTML.

ולאלמנט שנרצה לגרור נקרא ב-class בשם: draggable.

כמובן שאפשר לתת את אותו class לכמה אלמנטים. וכך כולם יחד יהפכו לניתנים לגרירה.

				
					<script>
   document.addEventListener("DOMContentLoaded", function () {
    const dragElement = document.querySelector(".draggable"); // שנהי לקלאס של האלמנט באלמנטור
    let offsetX = 0, offsetY = 0, isDragging = false;

    dragElement.addEventListener("mousedown", (e) => {
        isDragging = true;
        offsetX = e.clientX - dragElement.offsetLeft;
        offsetY = e.clientY - dragElement.offsetTop;
        dragElement.style.position = "absolute"; // חובה כדי להזיז את האלמנט
    });

    document.addEventListener("mousemove", (e) => {
        if (!isDragging) return;
        dragElement.style.left = (e.clientX - offsetX) + "px";
        dragElement.style.top = (e.clientY - offsetY) + "px";
    });

    document.addEventListener("mouseup", () => isDragging = false);
});

</script>
				
			

בנוסף נשים על האלמנט קוד CSS שיגרום למצביע העכבר להיראות כאפשרי לגרירה.

את הקוד כמובן נשים תחת מתקדם > CSS מותאם.

				
					selector{
    cursor:-moz-grab; 
    cursor:grab;
}