Propagation শব্দটি এসেছে propagate শব্দ থেকে যার অর্থ হলো নিচ থেকে উপরে যাওয়া বা উপর থেকে নিচে যাওয়া বা রেনডমলি যাওয়া বা চলাচল করা। জাভাস্ক্রিপ্টের ইভেন্ট কোন অর্ডারে চলাচল করবে সেই প্রেসেসটাই হলো প্রপাগেশন।
যখন আমরা কোনো HTML উপাদানের উপর ক্লিক করি বা কোনো ইভেন্ট ঘটাই, তখন সেই ইভেন্টটি ডম ট্রি বরাবর উপরে বা নিচে ছড়িয়ে পড়ে। এই ছড়িয়ে পড়ার প্রক্রিয়াকেই ইভেন্ট প্রোপাগেশন বলে।
প্রোপাগেশন দুই ধরনের হয়:
- Event bubbling
এখানে ইভেন্টটি সবচেয়ে নিচের উপাদান থেকে শুরু করে ধীরে ধীরে উপরের উপাদানগুলোতে ছড়িয়ে পড়ে। যেমন, যদি আপনি একটি <button>
এ ক্লিক করেন, তাহলে ইভেন্টটি প্রথমে <button>
এ, তারপর তার প্যারেন্ট <div>
এ, তারপর তার প্যারেন্ট <body>
এ, এবং অবশেষে <html>
এ পৌঁছাবে।
- Event capturing or trickling
এখানে ইভেন্টটি সবচেয়ে উপরের উপাদান থেকে শুরু করে ধীরে ধীরে নিচের উপাদানগুলোতে ছড়িয়ে পড়ে। বাবলিংয়ের ঠিক উল্টো।
#JavScript #EventPropagation #EventBubbling #EventCapturing