Drag-and-Drop এর Events এবং কাস্টম ইন্টারঅ্যাকশন

jQueryUI এর ইন্টারঅ্যাকশনস (Draggable, Droppable, Sortable) - জেকুয়েরি ইউআই (jqueryUI) - Web Development

218

Drag-and-Drop একটি গুরুত্বপূর্ণ ফিচার যা ব্যবহারকারীদের জন্য ইন্টারঅ্যাকটিভ এবং ব্যবহারকারী-বান্ধব ওয়েবসাইট তৈরি করতে সহায়ক। jQueryUI-এর ড্র্যাগ-এন্ড-ড্রপ (Drag-and-Drop) ফিচারটি ব্যবহার করে, আপনি সহজেই HTML উপাদানগুলোকে এক জায়গা থেকে অন্য জায়গায় সরাতে পারবেন। এটি বিভিন্ন ইভেন্টের মাধ্যমে কাস্টম ইন্টারঅ্যাকশন তৈরি করার সুযোগ দেয়।

এই গাইডে আমরা jQueryUI-এর ড্র্যাগ-এন্ড-ড্রপ ইভেন্ট এবং কাস্টম ইন্টারঅ্যাকশন নিয়ে আলোচনা করব।

১. ড্র্যাগ-এন্ড-ড্রপ ফিচার ইনিশিয়েট করা


প্রথমে, ড্র্যাগ-এন্ড-ড্রপ ফিচারটি কার্যকর করতে আপনাকে jQueryUI এর draggable() এবং droppable() মেথড ব্যবহার করতে হবে।

উদাহরণ:

<!DOCTYPE html>
<html lang="bn">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Drag-and-Drop উদাহরণ</title>

    <!-- jQuery লোড -->
    <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>

    <!-- jQueryUI CSS লোড -->
    <link rel="stylesheet" href="https://code.jquery.com/ui/1.13.2/themes/base/jquery-ui.css">

    <!-- jQueryUI JS লোড -->
    <script src="https://code.jquery.com/ui/1.13.2/jquery-ui.min.js"></script>
    
    <style>
        #draggable {
            width: 100px;
            height: 100px;
            background-color: #4CAF50;
            color: white;
            text-align: center;
            line-height: 100px;
            cursor: pointer;
        }

        #droppable {
            width: 200px;
            height: 200px;
            background-color: #f2f2f2;
            border: 2px dashed #ccc;
            text-align: center;
            line-height: 200px;
            margin-top: 20px;
        }
    </style>
</head>
<body>

    <div id="draggable">ড্র্যাগ করুন</div>
    <div id="droppable">এখানে ড্রপ করুন</div>

    <script>
        $(document).ready(function() {
            // ড্র্যাগেবল উপাদান তৈরি করা
            $("#draggable").draggable();

            // ড্রপেবল এলিমেন্ট তৈরি করা
            $("#droppable").droppable({
                drop: function(event, ui) {
                    $(this).html("ড্র্যাগ সফলভাবে ড্রপ করা হয়েছে!");
                }
            });
        });
    </script>

</body>
</html>

কোড ব্যাখ্যা

  • draggable(): #draggable উপাদানটিকে ড্র্যাগ করা যায় এমন একটি এলিমেন্ট হিসেবে তৈরি করে। এটি ব্যবহারকারীকে উপাদানটি টেনে নিয়ে যেতে সাহায্য করে।
  • droppable(): #droppable এলিমেন্টটিকে ড্রপযোগ্য এলিমেন্ট হিসেবে সেট করে, যার মাধ্যমে ড্র্যাগ করা উপাদানটি ড্রপ করা যাবে।

২. ড্র্যাগ-এন্ড-ড্রপ ইভেন্টস


jQueryUI ড্র্যাগ-এন্ড-ড্রপ ফিচারের সাথে কিছু ইভেন্ট যুক্ত করা যেতে পারে, যা ড্র্যাগ এবং ড্রপ প্রক্রিয়ার বিভিন্ন ধাপ ট্র্যাক করতে সহায়তা করে।

ইভেন্টগুলি:

  • start: ড্র্যাগ শুরু হওয়ার সময়
  • drag: ড্র্যাগging চলাকালীন
  • stop: ড্র্যাগ শেষ হওয়ার সময়
  • drop: ড্রপ ইভেন্ট যখন সফলভাবে ঘটে

উদাহরণ:

$(document).ready(function() {
    // ড্র্যাগেবল উপাদান সেট করা
    $("#draggable").draggable({
        start: function(event, ui) {
            console.log("ড্র্যাগ শুরু হয়েছে!");
        },
        drag: function(event, ui) {
            console.log("ড্র্যাগ চলমান...");
        },
        stop: function(event, ui) {
            console.log("ড্র্যাগ শেষ হয়েছে!");
        }
    });

    // ড্রপেবল এলিমেন্ট সেট করা
    $("#droppable").droppable({
        drop: function(event, ui) {
            console.log("ড্র্যাগ সফলভাবে ড্রপ করা হয়েছে!");
            $(this).html("এখানে ড্রপ করা হয়েছে!");
        }
    });
});

৩. কাস্টম ইন্টারঅ্যাকশন তৈরি করা


jQueryUI ড্র্যাগ-এন্ড-ড্রপ ফিচারের সাহায্যে আপনি কাস্টম ইন্টারঅ্যাকশনও তৈরি করতে পারেন, যেমন ড্র্যাগged উপাদানটির স্টাইল পরিবর্তন, ড্রপ এলিমেন্টের কনটেন্ট আপডেট করা, বা ড্র্যাগ-এন্ড-ড্রপ ইভেন্টে কাস্টম ক্লাস যুক্ত করা।

উদাহরণ:

$(document).ready(function() {
    // ড্র্যাগgable উপাদানটি কাস্টম স্টাইল দেওয়া
    $("#draggable").draggable({
        start: function(event, ui) {
            $(this).css("background-color", "red");  // ড্র্যাগ শুরু হলে রঙ পরিবর্তন
        },
        stop: function(event, ui) {
            $(this).css("background-color", "green");  // ড্র্যাগ শেষ হলে রঙ ফেরত
        }
    });

    // ড্রপেবল এলিমেন্টে কাস্টম ইন্টারঅ্যাকশন
    $("#droppable").droppable({
        over: function(event, ui) {
            $(this).css("background-color", "#ccc");  // ড্র্যাগ এলিমেন্টের উপর এলিমেন্ট রাখলে
        },
        out: function(event, ui) {
            $(this).css("background-color", "#f2f2f2");  // ড্র্যাগ এলিমেন্ট বের হলে
        },
        drop: function(event, ui) {
            $(this).html("ড্রপ করা হয়েছে!");
            $(this).css("background-color", "#4CAF50");  // ড্রপ পরবর্তী পরিবর্তন
        }
    });
});

৪. আরও কাস্টমাইজেশন


jQueryUI ড্র্যাগ-এন্ড-ড্রপ ফিচারের অনেক কাস্টমাইজেশন অপশন রয়েছে, যেমন:

  • revert: ড্র্যাগged উপাদানটি ড্রপ না হলে তার আগের অবস্থায় ফিরে আসবে।
  • containment: ড্র্যাগged উপাদানটির চলাচলের সীমা নির্ধারণ করা।
  • helper: ড্র্যাগged উপাদানটির জন্য কাস্টম হেল্পার তৈরি করা।

উদাহরণ:

$("#draggable").draggable({
    revert: "invalid",  // ড্রপ এলিমেন্টে না গেলে এলিমেন্টটি তার আগের অবস্থানে ফিরে যাবে
    containment: "#droppable",  // ড্র্যাগ এলিমেন্টটি শুধুমাত্র ড্রপ এলিমেন্টের মধ্যে থাকবে
    helper: "clone"  // ড্র্যাগged উপাদানটি কপি হবে, মূল এলিমেন্টটি সরবে না
});

উপসংহার


jQueryUI ড্র্যাগ-এন্ড-ড্রপ ফিচারটি অত্যন্ত শক্তিশালী এবং এটি বিভিন্ন কাস্টম ইন্টারঅ্যাকশন এবং ইভেন্ট প্রদান করে, যা আপনাকে একটি ইন্টারেক্টিভ এবং ব্যবহারকারী-বান্ধব ওয়েবসাইট তৈরি করতে সহায়তা করে। ড্র্যাগ-এন্ড-ড্রপ ইভেন্টের মাধ্যমে আপনি ড্র্যাগ এবং ড্রপ প্রক্রিয়া ট্র্যাক করতে পারেন এবং কাস্টম ইন্টারঅ্যাকশন তৈরি করতে পারেন যা আপনার ওয়েব অ্যাপ্লিকেশনকে আরও ডাইনামিক এবং ইউজার-বান্ধব করে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...