Tag Archives: ইভেন্ট

জাভাস্ক্রিপ্ট ইভেন্ট (JavaScript Events)

Huge Sell on Popular Electronics

শরিফুল ইসলাম
Job category-Php Coder

এইচটিএমএল ইভেন্ট হল এমন কিছু জিনিস যা এইচটিএমএল এর উপাদানের মধ্যে ঘটে থাকে। যখন javascript এইচটিএমএল পেজ এর মধ্যে ব্যবহার হয় ,তখন javascript ওই ইভেন্ট গুলোর উপর প্রতিক্রিয়া করে।

এইচটিএমএল ইভেন্ট

একটি এইচটিএমএল ইভেন্ট তাই করে যা ব্রাউজার করে অথবা কোন ইউজার কিছু করে।

এখানে কিছু এইচটিএমএল ইভেন্ট দেয়া হল

  • এইচটিএমএল ওয়েবপেজ লোড হওয়া শেষ হয়েছে
  • ইনপুট ফিল্ড পরিবর্তন হয়েছে
  • এইচটিএমএল বাটন এ ক্লিক করা হয়েছে।

আপনি যখন কিছু করতে চান তখন কোন ইভেন্ট ঘটতে পারে।

ইভেন্ট চিহ্নিত হওয়ার পর javascript আপনার কোড কার্যে পরিণত করে।

এইচটিএমএল জাভাস্ক্রিপ্ট কোড এর সাথে ইভেন্ট handler attribute ব্যবহারের অনুমতি দেয় এবং এইচটিএমএল এলিমেন্ট এর সাথে যুক্ত করতে হয়।

একক উদ্ধৃতি চিহ্ন দিয়ে:


<some-HTML-element some-event='some JavaScript'>


 

ডবল উদ্ধৃতি চিহ্ন দিয়ে:


<some-HTML-element some-event="some JavaScript">


 

এই উদাহরনে কোড এর মাধ্যমে বাটন এলিমেন্ট এর মধ্যে একটি onclick attribute ব্যবহার করা হয়েছে।
যেমন


<button onclick="getElementById('demo').innerHTML=Date()">The time is?</button>


উপরের উদাহরণ এ javascript কোড এর একটি উপাদান এবং সেই সাথে id=”demo” এ পরিবর্তন করবে।

 

পরবর্তী উদাহরনে innerhtml ব্যবহার করে javascript কোড নিজের উপাদানের কোন কনটেন্ট কে পরিবর্তন করবে।
যেমন


<button onclick="this.innerHTML=Date()">The time is?</button>


 

অনেকসময় javascript কোড কয়েক লাইনের হয়ে থাকে। ইভেন্ট অ্যাট্রিবউট ফাংশন কল করার ক্ষেত্রে এটি খুবই সাধারন।
যেমন :


<p>Click the button to display the date.</p>

<button onclick="displayDate()">The time is?</button>

<script>
function displayDate() {
    document.getElementById("demo").innerHTML = Date();
}
</script>

<p id="demo"></p>

অধিক ব্যবহৃত এইচটিএমএল ইভেন্ট

ইভেন্ট

বিবরণ

Onchange এইচটিএমএল উপাদান পরিবর্তন হয়।
Onclick ব্যবহারকারী এইচটিএমএল উপাদান এর উপর ক্লিক করতে পারে।
Onmouseover ব্যবহারকারী এইচটিএমএল উপাদান এর উপর মাউস মুভ করলে ইভেন্ট কার্যকর হয়।
Onmouseout ব্যবহারকারী এইচটিএমএল এর কোন উপাদান এর উপর থেকে মাউস সরালে ইভেন্ট কার্যকর হয়।
Onkeydown ব্যবহারকারী কিবোর্ড এর কোন বাটন প্রেস করলে ইভেন্ট কার্যকর হয়।
Onload ব্রাউজার পেজ লোড হওয়া বন্ধ করে।

জে’কুয়েরি (jQuery) মোবাইল orientationchange ইভেন্ট

Huge Sell on Popular Electronics

জে’কুয়েরি (jQuery) মোবাইল orientationchange ইভেন্ট
-----
কেউ যখন তার মোবাইল ডিভাইসের অবস্থান (orientation) পরিবর্তন করে আনুভূমিক (horizontal) কিংবা উল্লম্ব (vertical) অবস্থায় নিয়ে আসবে তখন orientationchange ইভেন্ট কাজ করবে।
orientationchange ইভেন্ট ব্যবহার করার জন্য window object এর সাথে ইভেন্টটি সংযুক্ত করে দিতে হবে। যেমন-
$(window).on("orientationchange",function(){
alert("ডিভাইসের অবস্থান পরিবর্তন হয়েছে!");
});
callback ফাংশনটি একটি আর্গুমেন্ট ধারণ করতে পারে, আর তা হলো event অবজেক্ট; যা মোবাইল ডিভাইসের orientation বা অবস্থা জানায়: "portrait" (অর্থ হচ্ছে মোবাইল ডিভাইস এখন উল্লম্ব অবস্থানে রাখা আছে) কিংবা "landscape" (মোবাইল ডিভাইস এখন আনুভূমিক অবস্থানে রাখা আছে):
উদাহরণ:
$(window).on("orientationchange",function(event){
alert("Orientation is: " + event.orientation);
});

জে কুয়েরি ইভেন্ট । jQuery Events

Huge Sell on Popular Electronics

আরিফ

আজ আমি আপনাদের সামনে web page এর একটি বিশেষ element "event" নিয়ে আলোচনা করবো। প্রথমে জেনে নেই ইভেন্ট কি??? সহজ কথায় এটা যেকোন কিছু যা আপনি একটি ওয়েব পেজ এ করে থাকেন। যেমন ধরুন ফেসবুকে মাউসের পয়েন্টার আপনার সেরা সেলিব্রিটির নামের উপর রাখলেন, সাথে সাথে দেখতে পাবেন একটি পপ- আপ বক্স আপনার সামনে আসবে যেখানে সেই সেলিব্রিটির info দেখাবে। তারপর ধরুন আপনি একটি অনলাইন রেডিও স্টেশন এ গান শুনছেন, আপনার মনে হরো ভলিউম বাড়ানো দরকার, আপনি vol+ বাটনে ক্লিক করলেন এক্ষেত্রে ক্লিকটাই event. অর্থাৎ মাউস বলেন কিবোর্ড বলেন যেকোন কি এর জন্য যেকোন এক্টিভিটিই হলো ইভেন্ট। এখন এই যে ইভেন্ট এবং তার এক্টিভিটি কাজ করানোর জন্য আপনার সাংকেতিক চিহ্ন এর প্রয়োজন হবে। আপনার একটি ওয়েব পেজ বানানোর জন্য। সর্বাধিক ব্যবহৃত সংকেত টি হলো


$("p").click();

 

এবার চলুন আমরা কয়েকটি ইভেন্ট নিয়ে আলোচনা করি:
click:
একটি পাতা সব অনুচ্ছেদ (প্যারা) এর জন্য একটি ক্লিক ইভেন্ট ব্যবহার করার জন্য:


$("p").click();


 

পরবর্তী ধাপে ক্লিক করার ফলে কি ঘটবে তা নির্ধারণ করা হয়। এর জন্য অবশ্যই একটি ফাংশন ব্যবহার করা আবশ্যক:


$("p").click(function(){
  // action goes here!!
});

 

এখানে কিছু DOM ইভেন্ট দেয়া হলো:

মাউস ইভেন্ট কীবোর্ড ইভেন্ট ফরম ইভেন্ট ডকুমেন্ট/উইন্ডো ইভেন্ট
click keypress submit load
dblclick keydown change resize
mouseenter keyup focus scroll
mouseleave blur unload

 

সাধারণভাবে ব্যবহৃত jQuery Event Methods

click():
click() method একটি ইভেন্ট হ্যান্ডেলার ফাংশন কে একটি HTML element এর সাথে যুক্ত করে।

এই ফাংশনটি কাজ করবে যখন ইউজার HTML element টিতে ক্লিক করবেন।

এখানে একটি উদাহরন দেখুন। এই p এর উপর ক্লিক করলে p উধাও হয়ে যাবে:


$("p").click(function(){
$(this).hide();
});


 

এখান থেকে উদাহরন দেখুন:


<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $("p").click(function(){
        $(this).hide();
    });
});
</script>
</head>
<body>

<p>If you click on me, I will disappear.</p>
<p>Click me away!</p>
<p>Click me too!</p>

</body>
</html>

 

dblclick():

dblclick() method একটি ইভেন্ট হ্যান্ডেলার ফাংশন কে একটি HTML element এর সাথে যুক্ত করে।

এই ফাংশনটি কাজ করবে যখন ইউজার HTML element টিতে ডাবল ক্লিক করবেন।


$("p").dblclick(function(){
    $(this).hide();
});

 

এখান থেকে উদাহরনটি দেখুন:


<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $("p").dblclick(function(){
        $(this).hide();
    });
});
</script>
</head>
<body>

<p>If you double-click on me, I will disappear.</p>
<p>Click me away!</p>
<p>Click me too!</p>

</body>
</html>

 

mouseenter():

mouseenter() method একটি ইভেন্ট হ্যান্ডেলার ফাংশন কে একটি HTML element এর সাথে যুক্ত করে।

এই ফাংশনটি কাজ করবে যখন মাউস পয়েন্টার HTML element এর ভিতরে প্রবেশ করবে।


$("#p1").mouseenter(function(){
    alert("You entered p1!");
});

 

এখান থেকে উদাহরনটি দেখুন:

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $("#p1").mouseenter(function(){
        alert("You entered p1!");
    });
});
</script>
</head>
<body>

<p id="p1">Enter this paragraph.</p>

</body>
</html>

 

mouseleave():

mouseleave() method একটি ইভেন্ট হ্যান্ডেলার ফাংশন কে একটি HTML element এর সাথে যুক্ত করে।

এই ফাংশনটি কাজ করবে যখন মাউস পয়েন্টার HTML element এর ভিতরে থেকে বের হয়ে যায়।


$("#p1").mouseleave(function(){
    alert("Bye! You now leave p1!");
});

 

এখান থেকে উদাহরনটি দেখুন:


<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $("#p1").mouseleave(function(){
        alert("Bye! You now leave p1!");
    });
});
</script>
</head>
<body>

<p id="p1">This is a paragraph.</p>

</body>
</html>

 

mousedown():

mousedown() method একটি ইভেন্ট হ্যান্ডেলার ফাংশন কে একটি HTML element এর সাথে যুক্ত করে।

এই ফাংশনটি কাজ করবে যখন মাউস পয়েন্টারটি এলিমেন্টটির উপরে থাকবে এবং HTML element এর উপর বাম, ডান বা মিডেল ক্লিক করা হবে,


$("#p1").mousedown(function(){
     alert("Mouse down over p1!");
 });

 

এখান থেকে উদাহরনটি দেখুন:


<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $("#p1").mousedown(function(){
        alert("Mouse down over p1!");
    });
});
</script>
</head>
<body>

<p id="p1">This is a paragraph.</p>

</body>
</html>

 

mouseup():

mouseup() method একটি ইভেন্ট হ্যান্ডেলার ফাংশন কে একটি HTML element এর সাথে যুক্ত করে।

এই ফাংশনটি কাজ করবে যখন মাউস পয়েন্টারটি এলিমেন্টটির উপরে থাকবে এবং HTML element এর উপর বাম, ডান বা মিডেল ক্লিক ছেড়ে দেয়া হবে,


$("#p1").mouseup(function(){
     alert("Mouse up over p1!");
 });

 

এখান থেকে উদাহরনটি দেখুন:


<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $("#p1").mouseup(function(){
        alert("Mouse up over p1!");
    });
});
</script>
</head>
<body>

<p id="p1">This is a paragraph.</p>

</body>
</html>

 

hover():

hover() method  দুইটি ইভেন্ট হ্যান্ডেলার ফাংশন mouseenter() এবং mouseleave() এর সমন্নয়ে HTML element এর সাথে যুক্ত করে।

প্রথম ফাংশনটি কাজ করবে যখন মাউস পয়েন্টারটি এলিমেন্টটির ভিতরে প্রবেশ করবে এবং প্রথম ফাংশনটি কাজ করবে যখন  মাউস পয়েন্টারটি এলিমেন্টটির ভিতর থেকে বাহিরে যাবে,


$("#p1").hover(function(){
    alert("You entered p1!");
},
function(){
    alert("Bye! You now leave p1!");
});

 

এখান থেকে উদাহরনটি দেখুন:


<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $("#p1").hover(function(){
        alert("You entered p1!");
    },
    function(){
        alert("Bye! You now leave p1!");
    }); 
});
</script>
</head>
<body>

<p id="p1">This is a paragraph.</p>

</body>
</html>

 

focus():

focus() method একটি ইভেন্ট হ্যান্ডেলার ফাংশন কে একটি HTML ফর্ম ফিল্ড এর সাথে যুক্ত করে।

এই ফাংশনটি কাজ করবে যখন ফিল্ডটিকে ফোকাস করা হবে,


$("input").focus(function(){
    $(this).css("background-color", "#cccccc");
});

 

এখান থেকে উদাহরনটি দেখুন:

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $("input").focus(function(){
        $(this).css("background-color", "#cccccc");
    });
    $("input").blur(function(){
        $(this).css("background-color", "#ffffff");
    });
});
</script>
</head>
<body>

Name: <input type="text" name="fullname"><br>
Email: <input type="text" name="email">

</body>
</html>

 

blur():

blur() method একটি ইভেন্ট হ্যান্ডেলার ফাংশন কে একটি HTML ফর্ম ফিল্ড এর সাথে যুক্ত করে।

এই ফাংশনটি কাজ করবে যখন ফিল্ডটি থেকে ফোকাস সরিয়ে নেয়া হবে,


$("input").blur(function(){
    $(this).css("background-color", "#ffffff");
});


এখান থেকে উদাহরনটি দেখুন:

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $("input").focus(function(){
        $(this).css("background-color", "#cccccc");
    });
    $("input").blur(function(){
        $(this).css("background-color", "#ffffff");
    });
});
</script>
</head>
<body>

Name: <input type="text" name="fullname"><br>
Email: <input type="text" name="email">

</body>
</html>

 

on():

on() method একটি ইভেন্ট হ্যান্ডেলার ফাংশন কে একটি HTML ফর্ম ফিল্ড এর সাথে যুক্ত করে।


$("p").on("click", function(){
    $(this).hide();
});

এখান থেকে উদাহরনটি দেখুন:


<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $("p").on("click", function(){
        $(this).hide();
    });
});
</script>
</head>
<body>

<p>If you click on me, I will disappear.</p>
<p>Click me away!</p>
<p>Click me too!</p>

</body>
</html>

 

 

<p> এলিমেন্ট এ একাধিক ইভেন্ট হ্যান্ডেলার ফাংশন যোগ করার উদাহরণ,


$("p").on({
    mouseenter: function(){
        $(this).css("background-color", "lightgray");
    },
    mouseleave: function(){
        $(this).css("background-color", "lightblue");
    },
    click: function(){
        $(this).css("background-color", "yellow");
    }
});

 

এখান থেকে উদাহরনটি দেখুন:


<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $("p").on({
        mouseenter: function(){
            $(this).css("background-color", "lightgray");
        },  
        mouseleave: function(){
            $(this).css("background-color", "lightblue");
        }, 
        click: function(){
            $(this).css("background-color", "yellow");
        }  
    });
});
</script>
</head>
<body>

<p>Click or move the mouse pointer over this paragraph.</p>

</body>
</html>

 

 

jQuery সিনট্যাক্স (Syntax)

Huge Sell on Popular Electronics

jQuery এইচটিএমএল এলিমেন্ট নির্বাচন করুন এবং তাদের উপর কিছু “কার্য” সম্পাদন করুন।

jQuery সিনট্যাক্স

jQuery সিনট্যাক্স হল এইচটিএমএল এলিমেন্ট নির্বাচক এবং উক্ত এলিমেন্ট এর উপর কিছু কার্য সম্পাদন করা।

মৌলিক সিনট্যাক্স হচ্ছে : $(selector).action()

  • $ চিহ্ন হচ্ছে jQuery কে সঙ্গায়িত বা jQuery এ প্রবেশ করার জন্য
  • (selector) হচ্ছে এইচটিএমএল এলিমেন্ট এর "কুয়েরি (বা খোজার জন্য)"
  • jQuery action() হচ্ছে এলিমেন্ট এর উপর কার্য সম্পাদনের জন্য

 

উদাহরন

$(this).hide() – বর্তমান এলিমেন্ট লুকায়

$("p").hide() – সকল <p> এলিমেন্ট লুকায়

$(".test").hide() – class="test" আছে এমন সকল এলিমেন্ট লুকায়

$("#test").hide() – id="test" আছে এমন সকল এলিমেন্ট লুকায়

 

আপনি কি সিএসএস সেক্টর এর সাথে পরিচিত ?

jQuery নির্বাচন করার জন্য সিএসএস সিনট্যাক্স ব্যাবহার করে। আপনি পরবর্তী টিউটরিয়াল এ সিলেক্টর সিনট্যাক্স সম্বন্ধে আরও জানতে পারবেন ।

 

Document Ready ইভেন্ট

আমাদের সকল উদাহরণে jQuery মেথড document ready ইভেন্ট এর ভিতরে লেখা হয়েছে:


$(document).ready(function(){

   // jQuery methods go here...

});

এটি ডকুমেন্ট লোড হওয়ার পূর্বে jQuery কোড রান হওয়া থেকে রক্ষা করে।

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

ডকুমেন্ট পুরোপুরি লোড হওয়ার পূর্বেই jQuery মেথড নিয়ে কাজ করলে কোন কার্য ব্যর্থ হতে পারে এখানে তার কিছু উদাহরণ দেখানো হলো:

  • একটি এলিমেন্টকে লুকানর চেষ্টা করে যা এখনও তৈরি হয়নিি
  • একটি ছবির আকার পেতে চেষ্টা করে যা এখনও লোড হয়নি

 

টিপস : jQuery টিম document ready এর জন্য সংক্ষিপ্ত পদ্ধতি তৈরি করেছে:


$(function(){

   // jQuery methods go here...

});