Documentation v1.0.4

Preview Purchase
Draggable is a lightweight, responsive, modern drag & drop library. Draggable abstracts native browser events into a comprehensive API to create a custom drag and drop experience. For more info see the official siteand the Github repository.

Draggable Cards Example

Wrap draggable zone with .draggable-zoneand define draggable elements with .draggableand let drag & drop through .draggable-handleelement.

Card 1

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled. Lorem Ipsum is simply dummy text of the printing and typesetting industry.

Card 2

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled. Lorem Ipsum is simply dummy text of the printing and typesetting industry.

Card 3

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled. Lorem Ipsum is simply dummy text of the printing and typesetting industry.

Card 4

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled. Lorem Ipsum is simply dummy text of the printing and typesetting industry.

Card 5

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled. Lorem Ipsum is simply dummy text of the printing and typesetting industry.

Card 6

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled. Lorem Ipsum is simply dummy text of the printing and typesetting industry.

Card 7

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled. Lorem Ipsum is simply dummy text of the printing and typesetting industry.

Card 8

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled. Lorem Ipsum is simply dummy text of the printing and typesetting industry.

Card 9

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled. Lorem Ipsum is simply dummy text of the printing and typesetting industry.

Card 10

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled. Lorem Ipsum is simply dummy text of the printing and typesetting industry.
var containers = document.querySelectorAll(".draggable-zone");

if (containers.length === 0) {
    return false;
}

var swappable = new Sortable.default(containers, {
    draggable: ".draggable",
    handle: ".draggable .draggable-handle",
    mirror: {
        //appendTo: selector,
        appendTo: "body",
        constrainDimensions: true
    }
});
<div class="row row-cols-lg-2 g-10 draggable-zone">
    <div class="col draggable">
        <!--begin::Card-->
        <div class="card card-bordered">
            ...
        </div>
        <!--end::Card-->
    </div>

    <div class="col draggable">
        <!--begin::Card-->
        <div class="card card-bordered">
            ...
        </div>
        <!--end::Card-->
    </div>

    <div class="col draggable">
        <!--begin::Card-->
        <div class="card card-bordered">
            ...
        </div>
        <!--end::Card-->
    </div>

    <div class="col draggable">
        <!--begin::Card-->
        <div class="card card-bordered">
            ...
        </div>
        <!--end::Card-->
    </div>

    <div class="col draggable">
        <!--begin::Card-->
        <div class="card card-bordered">
            ...
        </div>
        <!--end::Card-->
    </div>

    <div class="col draggable">
        <!--begin::Card-->
        <div class="card card-bordered">
            ...
        </div>
        <!--end::Card-->
    </div>

    <div class="col draggable">
        <!--begin::Card-->
        <div class="card card-bordered">
            ...
        </div>
        <!--end::Card-->
    </div>

    <div class="col draggable">
        <!--begin::Card-->
        <div class="card card-bordered">
            ...
        </div>
        <!--end::Card-->
    </div>

    <div class="col draggable">
        <!--begin::Card-->
        <div class="card card-bordered">
            ...
        </div>
        <!--end::Card-->
    </div>

    <div class="col draggable">
        <!--begin::Card-->
        <div class="card card-bordered">
            ...
        </div>
        <!--end::Card-->
    </div>
</div>
Learn & Get Inspired

Support at devs.keenthemes.com

Join our developers community to find answer to your question and help others. FAQs
Get Support
Documentation
From guides and how-tos, to live demos and code examples to get started right away.
Plugins & Components
Check out our 300+ in-house components and customized 3rd-party plugins.
Layout Builder
Build your layout, preview it and export the HTML for server side integration.
What's New
Latest features and improvements added with our users feedback in mind.
Buy now