জাভাস্ক্রিপ্ট জেকুয়েরি এঙ্গুলার জেএস এইচটিএমএল সিএসএস বুটস্ট্রাপ পিএইচপি সি প্রোগ্রামিং
লগইন
×

জেএস টিউটোরিয়াল

হোম-HOME পরিচিতি-Introduction ব্যবহার-Uses গঠনপ্রণালী-Syntax আউটপুট-Output তথ্যের ধরণ-Data Type চলক-Variable স্টেটমেন্ট-Statement মন্তব্য-Comment অপারেটর-Operator গণিত-Arithmetic এসাইনমেন্ট-Assignment ফাংশন-Function অবজেক্ট-Object স্কোপ-Scope ইভেন্ট-Event ধরণ পরিবর্তন-Type Conversion রেগুলার এক্সপ্রেশন-RegExp ভুল-Error জেসন-JSON হয়েস্টিং-Hoisting

কন্ট্রোল স্টেটমেন্ট

বুলিয়ান-Boolean তুলনা-Comparison শর্তাবলী-Condition সুইচ-Switch ফর লুপ- For Loop হোয়াইল লুপ-While Loop ব্রেক-Break এবং কন্টিনিউ-continue

স্ট্রিং এবং অ্যারে

স্ট্রিং-String স্ট্রিং পদ্ধতি-String Method অ্যারে-Array অ্যারে পদ্ধতি -Array Method অ্যারে সর্ট-ArraySort

সংখ্যা, গণিত ও তারিখ

সংখ্যা-Number সংখ্যা পদ্ধতি-Number Method গণিত-Math তারিখ-Date তারিখ বিন্যাস-Date Format তারিখ পদ্ধতি-Date Method

জেএস ফাংশন-Function

ফাংশনের সংজ্ঞা-Definition ফাংশন প্যারামিটার-Parameter ফাংশনকে ডাকা-Invocation ফাংশন ক্লোজার-Closure

জেএস অবজেক্ট-Object

অবজেক্টের সংজ্ঞা-Definition অবজেক্ট প্রোপার্টি-Property অবজেক্ট মেথড-Method অবজেক্ট প্রোটোটাইপ-Prototype

জেএস ফর্ম-Form

ফর্ম বৈধকরণ-Validation ফর্ম এপিআই-API

জেএস এইচটিএমএল ডোম-DOM

ডোম(DOM) পরিচিতি ডোম মেথড-Method ডোম ডকুমেন্ট-Document ডোম এলিমেন্ট -Element ডোম এইচটিএমএল-HTML ডোম সিএসএস-CSS ডোম অ্যানিমেশন-Animation ডোম ঘটনা-Event ডোম ইভেন্টলিসেনার-EventListener ডোম নেভিগেশন-Navigation ডোম নোড-Node ডোম নোডতালিকা-Nodelist

জেএস ব্রাউজার বোম-BOM

উইন্ডো-Window স্ক্রিন-Screen লোকেশন-Location হিস্টোরি-History নেভিগেটর-Navigator পপআপ এলার্ট-Popup Alert টাইমিং-Timing কুকি-Cookie

জেএস রেফারেন্স

জাভাস্ক্রিপ্ট অবজেক্ট এইচটিএমএল ডোম অবজেক্ট অপারেটর-Operator স্টেটমেন্ট-Statement অ্যারে-Array বুলিয়ান-Boolean স্ট্রিং-String সংখ্যা-Number রেগুলার এক্সপ্রেশন-RegExp গণিত-Math তারিখ-Date কনভার্শন-Conversion


 

জাভাস্ক্রিপ্ট এইচটিএমএল ডোম ইভেন্টলিসেনার


addEventListener() মেথড

উদাহরণ

<!DOCTYPE html>
<html>
<head>
<title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>

<button id="btn">ক্লিক করুন</button>

<p id="test"></p>

<script>
var a = document.getElementById("btn");
a.addEventListener("click", myFunc);

function myFunc(){
  document.getElementById("test").innerHTML = "স্যাট একাডেমী";
}
</script>
</body>
</html>

ফলাফল



নির্দিষ্ট একটি এলিমেন্টের মধ্যে addEventListener() মেথড একটি ইভেন্ট হ্যান্ডেলার যোগ করেছে।

এলিমেন্টের আগের ইভেন্ট হ্যান্ডেলারটি বাদ দেওয়া ছাড়াই addEventListener() মেথডটি ইভেন্ট হ্যান্ডেলার যোগ করে।

একটি এলিমেন্টের মধ্যে আপনি একাধিক ইভেন্ট হ্যান্ডেলার যোগ করতে পারেন।

একটি এলিমেন্টের মধ্যে আপনি একই টাইপের একাধিক ইভেন্ট হ্যান্ডেলার যোগ করতে পারেন। উদাহণস্বরূপ, দুইটি "click" ইভেন্ট।

এইচটিএমএল এলিমেন্ট ছাড়াও আপনি যেকোন ডোম অবজেক্টে ইভেন্টলিসেনার যোগ করতে পারেন। উদাহণস্বরূপ উইন্ডো অবজেক্ট।

addEventListener() মেথড ইভেন্ট বাবলিং নিয়ন্ত্রন করা সহজ করে দেয়।

আপনি খুব সহজেই removeEventListener() মেথড ব্যবহার করে একটি ইভেন্টলিসেনার বাদ দিতে পারেন।


গঠনপ্রনালী

element.addEventListener(event, function, useCapture);

প্রথম প্যারামিটারে ইভেন্টের নাম থাকে যেমন "click" , "mousedown"।

দ্বিতীয় প্যারামিটারটি হলো একটি কলব্যাক ফাংশন যা ইভেন্ট ঘটলে রান হয়।

তৃতীয় প্যারামিটারটি ইভেন্ট বাবলিং অথবা ইভেন্ট ক্যাপচারিং ব্যবহার করার জন্য একটি বুলিয়ান ভ্যালু নির্দেশ করে। এই প্যারামিটারটি ঐচ্ছিক।

ইভেন্টের নামের আগে "on" ব্যবহার করবেন না। "onclick" এর পরিবর্তে "click" ব্যবহার করবেন।


এলিমেন্টে ইভেন্ট হ্যান্ডেলার যোগ

উদাহরণ

<!DOCTYPE html>
<html>
<head>
<title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>

<button id="btn">ক্লিক করুন</button>

<p id="test"></p>

<script>
var a = document.getElementById("btn");

a.addEventListener("click", function (){
  document.getElementById("test").innerHTML = "স্যাট একাডেমী";
});
</script>
</body>
</html>

ফলাফল



এছাড়া আপনি বাহিরে ডিফাইন করা একটি ফাংশনের নাম উল্লেখ করেও করতে পারেনঃ

উদাহরণ

<!DOCTYPE html>
<html>
<head>
<title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>

<button id="btn">ক্লিক করুন</button>

<p id="test"></p>

<script>
var a = document.getElementById("btn");
a.addEventListener("click", myFunc);

function myFunc(){
  document.getElementById("test").innerHTML = "স্যাট একাডেমী";
}
</script>
</body>
</html>

ফলাফল




একটি এলিমেন্টে একাধিক ইভেন্ট হ্যান্ডেলার যোগ করা

addEventListener() মেথড ব্যবহার করে আগের ইভেন্ট হ্যান্ডেলারটি বাদ দেওয়া ছাড়াই এলিমেন্টের মধ্যে একাধিক ইভেন্ট হ্যান্ডেলার যোগ করা যায়ঃ

উদাহরণ

<!DOCTYPE html>
<html>
<head>
<title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>

<button id="btn">ক্লিক করুন</button>

<p id="test1"></p>
<p id="test2"></p>

<script>
var a = document.getElementById("btn");
a.addEventListener("click", myFunc1);
a.addEventListener("click", myFunc2);

function myFunc1(){
  document.getElementById("test1").innerHTML = "স্যাট একাডেমী";
}
function myFunc2(){
  document.getElementById("test2").innerHTML = "বাংলাদেশের বৃহত্তম বাংলা প্রোগ্রামিং ওয়েবসাইট";
}
</script>
</body>
</html>

ফলাফল



আপনি একই এলিমেন্টে বিভিন্ন টাইপের ইভেন্ট যোগ করতে পারেনঃ

উদাহরণ

<!DOCTYPE html>
<html>
<head>
<title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>

<button id="btn">ক্লিক করুন</button>

<p id="test1"></p>
<p id="test2"></p>
<p id="test3"></p>

<script>
var a = document.getElementById("btn");
a.addEventListener("click", myFunc1);
a.addEventListener("click", myFunc2);
a.addEventListener("mouseover", myFunc3);

function myFunc1(){
  document.getElementById("test1").innerHTML = "স্যাট একাডেমী";
}
function myFunc2(){
  document.getElementById("test2").innerHTML = "বাংলাদেশের বৃহত্তম বাংলা প্রোগ্রামিং ওয়েবসাইট";
}
function myFunc3(){
  document.getElementById("test3").innerHTML = "হ্যালো";
}
</script>
</body>
</html>

ফলাফল




উইন্ডো অবজেক্টে ইভেন্ট হ্যান্ডেলার যোগ করা

addEventListener() মেথডটি যেকোন এইচটিএমএল ডোম অবজেক্ট যেমন এইচটিএমএল এলিমেন্ট, এইচটিএমএল ডকুমেন্ট, উইন্ডো অবজেক্ট অথবা অন্যান্য অবজেক্ট যারা ইভেন্ট সাপোর্ট করে তাদের মধ্যে ইভেন্ট যোগ করতে সাহায্য করে।

উদাহরণ

<!DOCTYPE html>
<html>
<head>
<title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>

<p>উইন্ডো রিসাইজ করুন</p>

<p id="test"></p>

<script>
window.addEventListener("resize", myFunc);

function myFunc(){
  document.getElementById("test").innerHTML = window.innerWidth;
}
</script>
</body>
</html>

ফলাফল




প্যারামিটার দেওয়া

প্যারামিটার ভ্যালু পাস করতে চাইলে একটি "anonymous" ফাংশন ব্যবহার করতে হবে যার মধ্যে প্যারামিটারসহ ফাংশনটি থাকবেঃ

উদাহরণ

<!DOCTYPE html>
<html>
<head>
<title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>

<button id="btn">ক্লিক করুন</button>

<p id="test"></p>

<script>
var a = 4;
var b = 4;

var btn1 = document.getElementById("btn");
btn1.addEventListener("click", function(){
  myFunc(a, b);
});


function myFunc(param1, param2){
  document.getElementById("test").innerHTML = param1 + param2;
}
</script>
</body>
</html>

ফলাফল




ইভেন্ট বাবলিং অথবা ইভেন্ট ক্যাপচারিং

এইচটিএমএল ডোমে ইভেন্ট প্রপাগেশনের দুইটি পদ্ধতি রয়েছে ইভেন্ট বাবলিং এবং ইভেন্ট ক্যাপচারিং।

ইভেন্ট প্রপাগেশন হচ্ছে একটি ইভেন্ট ঘটলে এলিমেন্টের ধারাবাহিকতা চিহ্নিত করার একটি পদ্ধতি। যদি একটি <div> এলিমেন্টের ভিতরে একটি <p> এলিমেন্ট থাকে এবং ব্যবহারকারী <p> এলিমেন্টে ক্লিক করে তাহলে কোন এলিমেন্টের ক্লিক ইভেন্ট আগে কাজ করবে?

bubbling এর ক্ষেত্রে ভিতরের এলিমেন্টের ইভেন্ট আগে কাজ করে এবং পরে বাহিরের গুলো কাজ করে: <p> এলিমেন্টের ক্লিক ইভেন্টটি আগে কাজ করবে, পরে <div> এলিমেন্টের ক্লিক ইভেন্টটি কাজ করে।

capturing এর ক্ষেত্রে বাহিরের এলিমেন্টের ইভেন্ট আগে কাজ করে এবং পরে ভিতরেরগুলো কাজ করে: <div> এলিমেন্টের ক্লিক ইভেন্টটি আগে কাজ করে, পরে <p> ইলিমেন্টের ক্লিক ইভেন্টটি কাজ করে।

addEventListener() মেথডে আপনি "useCapture" প্যারামিটারটি ব্যবহার করে প্রপাগেশন টাইপ নির্ধারণ করতে পারেন:

addEventListener(event, function, useCapture);

এখানে ডিফল্ট ভ্যালু false, যেটা বাবলিং প্রপাগেশন করতে ব্যবহার করা হয়। যখন ভ্যালু true থাকে, তখন ক্যাপচারিং প্রপাগেশন সক্রিয় হয়।

উদাহরণ

<!DOCTYPE html>
<html>
<head>
<title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>

<div class="DIV">
<p class="P">ক্লিক করুন</p>
</div>
<div class="DIV">
<p class="P">ক্লিক করুন</p>
</div>

<script>
var a =document.getElementsByClassName("DIV");
var b =document.getElementsByClassName("P");

a[0].addEventListener("click", function() {
  alert("Clicked DIV Element!");
}, false);

b[0].addEventListener("click", function() {
  alert("Clicked P Element!");
}, false);

a[1].addEventListener("click", function() {
  alert("Clicked DIV Element!");
}, true);

b[1].addEventListener("click", function() {
  alert("Clicked P Element!");
}, true);
</script>
</body>
</html>

ফলাফল




removeEventListener() মেথড

addEventListener() মেথড দ্বারা যুক্ত ইভেন্ট হ্যান্ডেলারকে বাদ দিতে removeEventListener() মেথডটি ব্যবহার করা হয়ঃ

উদাহরণ

<!DOCTYPE html>
<html>
<head>
<title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>

<p>উইন্ডো রিসাইজ করুন</p>
<button onclick="funcRemove()">ক্লিক করুন</button>

<p id="test"></p>

<script>
window.addEventListener("resize", myFunc);

function myFunc(){
  document.getElementById("test").innerHTML = window.innerWidth;
}

function funcRemove(){
  window.removeEventListener("resize", myFunc);
}
</script>
</body>
</html>

ফলাফল




ব্রাউজার সাপোর্ট

মেথড
addEventListener() ১.০ ৯.০ ১.০ ১.০ ৭.০
removeEventListener() ১.০ ৯.০ ১.০ ১.০ ৭.০

নোট: addEventListener() এবং removeEventListener() মেথড ইন্টারনেট এক্সপ্লোরার-৮ এবং এর পূর্বের ভার্সনে সাপোর্ট করে না এবং অপেরা 6.0 এবং এর পূর্বের ভার্সনেও সাপোর্ট করে না। এসকল ব্রাউজারে একটি ইভেন্ট যোগ করার জন্য আমরা attachEvent() মেথড ব্যবহার করতে পারি এবং বাদ দেয়ার জন্য detachEvent() মেথড ব্যবহার করতে পারিঃ

element.attachEvent(event, function);
element.detachEvent(event, function);

ক্রস ব্রাউজার সমাধানঃ

উদাহরণ

<!DOCTYPE html>
<html>
<head>
<title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>

<button id="btn">ক্লিক করুন</button>

<script>
var a = document.getElementById("btn");
if (a.addEventListener) {
    a.addEventListener("click", myFunc);
} else if (a.attachEvent) {
    a.attachEvent("onclick", myFunc);
}

function myFunc() {
    alert("স্যাট একাডেমী");
}
</script>
</body>
</html>

ফলাফল




এইচটিএমএল ডোম ইভেন্ট অবজেক্ট রেফারেন্স

সকল এইচটিএমএল ডোম ইভেন্টের একটি তালিকা দেখার জন্য আমাদের এইচটিএমএল ডোম ইভেন্ট অবজেক্ট রেফারেন্স দেখুন।