Events এবং Callback Functions

Web Development - বুটস্ট্রাপ (Bootstrap 5) - Bootstrap 5 এর JavaScript প্লাগইনস |

Events এবং Callback Functions হল জাভাস্ক্রিপ্টের গুরুত্বপূর্ণ ধারণা যা ডাইনামিক ওয়েব পেজ তৈরি করতে ব্যবহৃত হয়। এগুলি ওয়েব পেজের ইন্টারঅ্যাকশন এবং ইউজার ইনপুট প্রক্রিয়া পরিচালনা করতে সাহায্য করে। যখন কোন ইউজার কোনো ইন্টারঅ্যাকশন করেন, তখন তা কার্যকর করার জন্য ইভেন্ট এবং কলব্যাক ফাংশন ব্যবহৃত হয়।


Events (ইভেন্টস)

ইভেন্ট হল কোনো বিশেষ কার্যকলাপ বা পরিস্থিতি যা ব্রাউজারে ঘটে, যেমন ইউজারের ক্লিক করা, মাউস মুভ করা, কীবোর্ডে কিছু চাপা, বা পেজ লোড হওয়া। ইভেন্টগুলি ডকুমেন্টের বিভিন্ন অংশে ঘটতে পারে, এবং ব্রাউজার ইভেন্টগুলি পর্যবেক্ষণ করে, সেগুলোর জন্য প্রক্রিয়া তৈরি করতে সক্ষম হয়।

ইভেন্টের উদাহরণ:

  • Click Event: ইউজার যখন কোনো বাটনে ক্লিক করে
  • Mouseover Event: মাউস যখন কোনো উপাদানের উপরে চলে আসে
  • Keyup/Keydown Event: যখন কোনো কী চাপা হয়
  • Submit Event: ফর্ম সাবমিট হলে

ইভেন্ট লিসেনার (Event Listener)

ইভেন্ট লিসেনার হল একটি ফাংশন যা একটি নির্দিষ্ট ইভেন্টের জন্য অপেক্ষা করে এবং সেই ইভেন্ট ঘটলে কল হয়। ব্রাউজারে addEventListener() মেথড ব্যবহার করে ইভেন্ট লিসেনার যুক্ত করা হয়।

উদাহরণ: Click ইভেন্ট লিসেনার

<button id="myButton">Click Me</button>

<script>
  const button = document.getElementById('myButton');
  
  button.addEventListener('click', function() {
    alert('Button clicked!');
  });
</script>

এখানে, addEventListener() মেথডের মাধ্যমে বাটনটিতে ক্লিক করলে একটি এলার্ট মেসেজ প্রদর্শিত হবে।


Callback Functions (কলব্যাক ফাংশন)

Callback Function হল একটি ফাংশন যা অন্য একটি ফাংশনের আর্গুমেন্ট হিসেবে পাস করা হয় এবং তারপর সেই ফাংশনটি একটি নির্দিষ্ট সময় পরে বা কোনো নির্দিষ্ট পরিস্থিতিতে কল হয়। এটি সাধারণত অ্যাসিঙ্ক্রোনাস (asynchronous) প্রোগ্রামিংয়ে ব্যবহৃত হয়।

যখন আপনি একটি ফাংশন কল করেন, সেই ফাংশনটির কিছু কাজ সম্পন্ন হওয়ার পরে একটি কলব্যাক ফাংশনকে কল করা হতে পারে। কলব্যাক ফাংশনকে অ্যাসিঙ্ক্রোনাস কাজের শেষে কার্যকর করা হয়।

উদাহরণ: সাধারণ কলব্যাক ফাংশন

function greet(name, callback) {
  console.log('Hello, ' + name);
  callback();
}

function thankYou() {
  console.log('Thank you for visiting!');
}

greet('John', thankYou);

এখানে, greet() ফাংশনটি একটি callback আর্গুমেন্ট নেয় এবং কাজ শেষে thankYou() কলব্যাক ফাংশনটিকে কল করে।

কলব্যাক ফাংশনের ব্যবহার:

  • Asynchronous Functions: কলব্যাক ফাংশন অ্যাসিঙ্ক্রোনাস কাজের পরবর্তী পদক্ষেপ নির্দেশ করতে ব্যবহৃত হয়।
  • Event Handling: ইউজার ইন্টারঅ্যাকশনের পরে (যেমন ক্লিক, হোভার, ইত্যাদি) কলব্যাক ফাংশন কল করা হয়।

অ্যাসিঙ্ক্রোনাস কলব্যাক ফাংশন

জাভাস্ক্রিপ্টে অ্যাসিঙ্ক্রোনাস কাজের জন্য কলব্যাক ফাংশন ব্যবহার করা হয়, যেমন সার্ভার থেকে ডেটা ফেচ করা, সময় নির্ধারণ করা বা ফাইল আপলোড করা।

উদাহরণ: setTimeout() এর মাধ্যমে অ্যাসিঙ্ক্রোনাস কলব্যাক

console.log('Start');

setTimeout(function() {
  console.log('This will run after 2 seconds');
}, 2000);

console.log('End');

এই উদাহরণে, setTimeout() একটি অ্যাসিঙ্ক্রোনাস ফাংশন যা ২ সেকেন্ড পরে কলব্যাক ফাংশনটি চালু করবে। এখানে Start এবং End একসাথে প্রিন্ট হবে, তারপর ২ সেকেন্ড পরে কলব্যাক ফাংশনটি রান করবে।


ইভেন্ট এবং কলব্যাক ফাংশনের মধ্যে সম্পর্ক

ইভেন্ট এবং কলব্যাক ফাংশন একসাথে কাজ করতে পারে, যেখানে ইভেন্টের মাধ্যমে কলব্যাক ফাংশন ট্রিগার হয়। উদাহরণস্বরূপ, আপনি একটি বাটনে ক্লিক করলে একটি কলব্যাক ফাংশন কল করতে পারেন।

উদাহরণ: ক্লিক ইভেন্টে কলব্যাক ফাংশন

<button id="clickButton">Click Me!</button>

<script>
  const button = document.getElementById('clickButton');

  button.addEventListener('click', function() {
    alert('Button clicked!');
  });
</script>

এখানে, click ইভেন্টের মাধ্যমে কলব্যাক ফাংশনটি ট্রিগার হয়।


সারাংশ

  • ইভেন্ট হল ব্রাউজারের মধ্যে ঘটানো এক বা একাধিক কার্যকলাপ (যেমন ইউজারের ক্লিক করা বা মাউস মুভ করা)।
  • ইভেন্ট লিসেনার এমন একটি ফাংশন যা নির্দিষ্ট ইভেন্টটি শোনে এবং ইভেন্ট ঘটলে কল হয়।
  • Callback Function হল এমন একটি ফাংশন যা অন্য একটি ফাংশন কল করার পরে কার্যকর হয়, সাধারণত অ্যাসিঙ্ক্রোনাস কাজ বা ইভেন্ট হ্যান্ডলিংয়ের ক্ষেত্রে ব্যবহৃত হয়।

এই দুটি ধারণা মিলিয়ে ওয়েব অ্যাপ্লিকেশন এবং ইউজার ইন্টারফেসে ইন্টারঅ্যাকশন পরিচালনা করা হয়।

Content added By
Promotion