jQuery มี Event Methods หลากหลายที่ช่วยให้การจัดการกับเหตุการณ์ (events) บนเว็บเพจง่ายขึ้น โดย Event Methods เหล่านี้จะทำให้เราสามารถกำหนดการทำงานเมื่อเกิดเหตุการณ์ต่าง ๆ เช่น เมื่อผู้ใช้คลิกเมาส์ กดแป้นพิมพ์ หรือทำการโต้ตอบอื่น ๆ
มาดูรายละเอียดของ Event Methods ที่สำคัญใน jQuery
1. .on()
.on()
เป็นวิธีการหลักที่ใช้เพื่อจัดการกับหลายเหตุการณ์ในหลายองค์ประกอบ (elements) ใน jQuery มันสามารถใช้เพื่อจับ event หลายชนิดใน selector เดียว
การใช้งาน
$("selector").on("event", function(){
// คำสั่งที่จะทำงานเมื่อเกิด event
});
ตัวอย่าง
$("#myButton").on("click", function(){
alert("Button clicked!");
});
ในตัวอย่างนี้ เมื่อมีการคลิกปุ่มที่มี id ว่า myButton
จะมีการแสดงข้อความแจ้งเตือนออกมา
2. .click()
ใช้สำหรับตรวจจับ event “คลิก” ของผู้ใช้กับ element นั้น ๆ
การใช้งาน
$("selector").click(function(){
// คำสั่งที่จะทำงานเมื่อเกิดการคลิก
});
ตัวอย่าง
$("#myDiv").click(function(){
$(this).hide(); // ซ่อน div เมื่อถูกคลิก
});
3. .dblclick()
ใช้เพื่อจัดการ event การคลิกเมาส์ 2 ครั้งติดกัน (double-click)
การใช้งาน
$("selector").dblclick(function(){
// คำสั่งที่จะทำงานเมื่อ double-click
});
ตัวอย่าง
$("#myDiv").dblclick(function(){
$(this).css("background-color", "blue"); // เปลี่ยนสีพื้นหลังเมื่อ double-click
});
4. .hover()
ใช้จัดการกับการเคลื่อนเมาส์เข้าและออกจากองค์ประกอบใดๆ
การใช้งาน
$("selector").hover(function(){
// เมื่อเมาส์เลื่อนเข้า
}, function(){
// เมื่อเมาส์เลื่อนออก
});
ตัวอย่าง
$("#myDiv").hover(function(){
$(this).css("background-color", "yellow");
}, function(){
$(this).css("background-color", "white");
});
5. .focus() และ .blur()
.focus()
ใช้เมื่อ input field ได้รับ focus (เช่น การคลิกที่ input).blur()
ใช้เมื่อ input field สูญเสีย focus
การใช้งาน
$("selector").focus(function(){
// เมื่อองค์ประกอบได้รับ focus
});
$("selector").blur(function(){
// เมื่อองค์ประกอบสูญเสีย focus
});
ตัวอย่าง
$("#myInput").focus(function(){
$(this).css("background-color", "lightgreen");
});
$("#myInput").blur(function(){
$(this).css("background-color", "");
});
6. .keydown() และ .keyup()
ใช้ตรวจจับ event เมื่อผู้ใช้กดหรือปล่อยแป้นพิมพ์
การใช้งาน
$("selector").keydown(function(event){
// คำสั่งที่จะทำงานเมื่อกดแป้นพิมพ์
});
$("selector").keyup(function(event){
// คำสั่งที่จะทำงานเมื่อปล่อยแป้นพิมพ์
});
ตัวอย่าง
$(document).keydown(function(event){
alert("Key pressed: " + event.which);
});
ในตัวอย่างนี้ เมื่อใดที่มีการกดแป้นพิมพ์ จะแสดงค่า key code ของแป้นที่ถูกกดออกมา
7. .submit()
ใช้จับ event เมื่อฟอร์มถูกส่ง (form submission)
การใช้งาน
$("form").submit(function(event){
event.preventDefault(); // หยุดการส่งฟอร์ม
// คำสั่งที่จะทำงานเมื่อฟอร์มถูกส่ง
});
ตัวอย่าง
$("#myForm").submit(function(event){
event.preventDefault(); // ป้องกันการส่งฟอร์ม
alert("Form submitted!");
});
8. .resize()
ใช้สำหรับจัดการกับ event เมื่อขนาดของหน้าต่างเบราว์เซอร์เปลี่ยนแปลง
การใช้งาน
$(window).resize(function(){
// คำสั่งที่จะทำงานเมื่อขนาดหน้าต่างเปลี่ยน
});
ตัวอย่าง
$(window).resize(function(){
$("#myDiv").text("Window resized");
});
9. .scroll()
ใช้สำหรับตรวจจับการเลื่อนหน้าต่าง (scrolling)
การใช้งาน
$(window).scroll(function(){
// คำสั่งที่จะทำงานเมื่อเกิดการเลื่อน
});
ตัวอย่าง
$(window).scroll(function(){
$("#myDiv").text("You are scrolling!");
});
10. .mouseenter() และ .mouseleave()
ใช้จัดการเมื่อเมาส์เลื่อนเข้าหรือออกจากองค์ประกอบ
การใช้งาน
$("selector").mouseenter(function(){
// คำสั่งเมื่อเมาส์เลื่อนเข้า
});
$("selector").mouseleave(function(){
// คำสั่งเมื่อเมาส์เลื่อนออก
});
ตัวอย่าง
$("#myDiv").mouseenter(function(){
$(this).css("background-color", "lightblue");
});
$("#myDiv").mouseleave(function(){
$(this).css("background-color", "");
});
การจัดการหลาย event ในครั้งเดียว
เราสามารถจับ event หลาย ๆ ตัวด้วย .on()
ได้ในครั้งเดียว
ตัวอย่าง
$("#myDiv").on({
mouseenter: function(){
$(this).css("background-color", "yellow");
},
mouseleave: function(){
$(this).css("background-color", "");
},
click: function(){
$(this).css("background-color", "green");
}
});
ในตัวอย่างนี้ องค์ประกอบเดียวกัน (#myDiv
) จะถูกจัดการด้วย event หลายชนิด (mouseenter, mouseleave, click) พร้อมกัน
สรุป
jQuery Event Methods ทำให้การจัดการเหตุการณ์ต่าง ๆ บนหน้าเว็บสะดวกและง่ายขึ้น ด้วยคำสั่งที่สั้นและมีประสิทธิภาพ Event Methods ที่กล่าวมาข้างต้นคือกลุ่มคำสั่งพื้นฐานที่ช่วยในการสร้างประสบการณ์โต้ตอบที่ดียิ่งขึ้นให้กับผู้ใช้บนหน้าเว็บของเรา