ล่าสุดการพัฒนาเว็บบทเรียน
×

JS เกี่ยวกับการสอน

JS บ้าน JS บทนำ JS สถานที่ที่จะ JS ส่งออก JS วากยสัมพันธ์ JS งบ JS ความคิดเห็น JS ตัวแปร JS ผู้ประกอบการ JS คณิตศาสตร์ JS การมอบหมาย JS ชนิดข้อมูล JS ฟังก์ชั่น JS วัตถุ JS ขอบเขต JS เหตุการณ์ JS เงื่อนไข JS วิธีสตริง JS เบอร์ JS วิธีการจำนวน JS คณิตศาสตร์ JS วันที่ JS รูปแบบวันที่ JS วันวิธีการ JS แถว JS วิธีการอาร์เรย์ JS booleans JS เปรียบเทียบ JS เงื่อนไข JS สวิตซ์ JS ห่วง For JS ในขณะที่ห่วง JS หยุด JS ประเภทการแปลง JS นิพจน์ทั่วไป JS ข้อผิดพลาด JS แก้จุดบกพร่อง JS hoisting JS โหมดที่เข้มงวด JS คู่มือสไตล์ JS ปฏิบัติที่ดีที่สุด JS ข้อผิดพลาด JS ประสิทธิภาพ JS คำสงวน JS JSON

JS ฟอร์ม

แบบฟอร์มการตรวจสอบ รูปแบบ API

JS วัตถุ

นิยามวัตถุ คุณสมบัติของวัตถุ วิธีการของวัตถุ ต้นแบบวัตถุ

JS ฟังก์ชั่น

นิยามฟังก์ชั่น ค่าฟังก์ชัน ฟังก์ชั่นการภาวนา ปิดฟังก์ชั่น

JS HTML DOM

DOM แนะนำ DOM วิธีการ DOM เอกสาร DOM องค์ประกอบ DOM HTML DOM CSS DOM ภาพเคลื่อนไหว DOM เหตุการณ์ DOM EventListener DOM การเดินเรือ DOM โหนด DOM Nodelist

JS เบราว์เซอร์ BOM

JS Window JS Screen JS Location JS History JS Navigator JS Popup Alert JS Timing JS Cookies

JS ตัวอย่าง

JS ตัวอย่าง JS HTML DOM JS HTML อินพุต JS HTML วัตถุ JS HTML เหตุการณ์ JS เบราว์เซอร์ JS ทดสอบ JS สรุป

JS คู่มืออ้างอิง

JavaScript วัตถุ HTML DOM วัตถุ


 

JavaScript HTML DOM EventListener


addEventListener() วิธีการ

ตัวอย่าง

เพิ่มฟังเหตุการณ์ที่เริ่มทำงานเมื่อผู้ใช้คลิกปุ่ม:

document.getElementById("myBtn").addEventListener("click", displayDate);
ลองตัวเอง»

addEventListener() วิธีการแนบตัวจัดการเหตุการณ์ไปยังองค์ประกอบที่ระบุ

addEventListener() วิธีการแนบตัวจัดการเหตุการณ์ไปยังองค์ประกอบโดยไม่ต้องมีการเขียนทับจัดการเหตุการณ์ที่มีอยู่

คุณสามารถเพิ่มตัวจัดการเหตุการณ์มากมายที่จะองค์ประกอบหนึ่ง

คุณสามารถเพิ่มตัวจัดการเหตุการณ์หลายชนิดเดียวกันที่จะองค์ประกอบหนึ่งคือสอง "click" เหตุการณ์ที่เกิดขึ้น

คุณสามารถเพิ่มฟังเหตุการณ์ที่ DOM วัตถุใด ๆ ที่ไม่ได้เป็นเพียงองค์ประกอบ HTML คือวัตถุหน้าต่าง

addEventListener() วิธีการทำให้ง่ายต่อการควบคุมวิธีการจัดกิจกรรมที่ทำปฏิกิริยากับเดือด

เมื่อใช้ addEventListener() method, JavaScript ถูกแยกออกจากมาร์กอัป HTML, สำหรับการอ่านที่ดีขึ้นและช่วยให้คุณสามารถเพิ่มฟังเหตุการณ์แม้ในขณะที่คุณไม่สามารถควบคุมมาร์กอัปของ HTML

คุณสามารถลบฟังเหตุการณ์โดยใช้ removeEventListener() วิธีการ


วากยสัมพันธ์

element .addEventListener( event, function, useCapture );

พารามิเตอร์แรกคือประเภทของเหตุการณ์ที่เกิดขึ้น (เช่น "click" หรือ "mousedown" )

พารามิเตอร์ที่สองคือฟังก์ชั่นที่เราต้องการที่จะเรียกเมื่อมีเหตุการณ์เกิดขึ้น

พารามิเตอร์ที่สามเป็นค่าบูลีนระบุว่าจะใช้เหตุการณ์เดือดหรือเหตุการณ์จับ พารามิเตอร์นี้หรือไม่

โปรดทราบว่าคุณไม่ได้ใช้ "on" คำนำหน้าสำหรับเหตุการณ์; ใช้ "click" แทน "onclick"


เพิ่มตัวจัดการเหตุการณ์ที่จะองค์ประกอบ

ตัวอย่าง

การแจ้งเตือน "Hello World!" เมื่อผู้ใช้คลิกที่องค์ประกอบ:

element .addEventListener("click", function(){ alert("Hello World!"); });
ลองตัวเอง»

นอกจากนี้คุณยังสามารถดูภายนอก "ชื่อ" ฟังก์ชั่น:

ตัวอย่าง

การแจ้งเตือน "Hello World!" เมื่อผู้ใช้คลิกที่องค์ประกอบ:

element .addEventListener("click", myFunction);

function myFunction() {
    alert ("Hello World!");
}
ลองตัวเอง»

เพิ่มตัวจัดการเหตุการณ์หลาย Element เดิม

addEventListener() วิธีการช่วยให้คุณสามารถเพิ่มกิจกรรมหลายองค์ประกอบเดียวกันโดยไม่เขียนทับเหตุการณ์ที่มีอยู่:

ตัวอย่าง

element .addEventListener("click", myFunction);
element .addEventListener("click", mySecondFunction);
ลองตัวเอง»

คุณสามารถเพิ่มกิจกรรมที่แตกต่างกันกับองค์ประกอบเดียวกัน:

ตัวอย่าง

element .addEventListener("mouseover", myFunction);
element .addEventListener("click", mySecondFunction);
element .addEventListener("mouseout", myThirdFunction);
ลองตัวเอง»

เพิ่มตัวจัดการเหตุการณ์ไปยังวัตถุที่หน้าต่าง

addEventListener() วิธีการช่วยให้คุณเพิ่มฟังเหตุการณ์บนวัตถุ DOM HTML ใด ๆ เช่นองค์ประกอบ HTML, เอกสาร HTML วัตถุหน้าต่างหรือวัตถุอื่น ๆ ที่สนับสนุนการจัดกิจกรรมเช่น xmlHttpRequest วัตถุ

ตัวอย่าง

เพิ่มฟังเหตุการณ์ที่ไฟเมื่อผู้ใช้ปรับขนาดหน้าต่าง:

window.addEventListener("resize", function(){
    document.getElementById("demo").innerHTML = sometext ;
});
ลองตัวเอง»

ผ่านพารามิเตอร์

เมื่อผ่านค่าพารามิเตอร์ให้ใช้ "ฟังก์ชั่นที่ไม่ระบุชื่อ" ที่เรียกฟังก์ชั่นระบุมีพารามิเตอร์:

ตัวอย่าง

element .addEventListener("click", function(){ myFunction(p1, p2); });
ลองตัวเอง»

เหตุการณ์เดือดหรือเหตุการณ์จับ?

มีสองวิธีการขยายพันธุ์เหตุการณ์ใน DOM HTML, ฟองและจับเป็น

การขยายพันธุ์ที่จัดกิจกรรมเป็นวิธีของการกำหนดองค์ประกอบการสั่งซื้อเมื่อมีเหตุการณ์เกิดขึ้น หากคุณมี <p> องค์ประกอบภายใน <div> องค์ประกอบและผู้ใช้คลิกที่ <p> องค์ประกอบซึ่งองค์ประกอบของ "click" เหตุการณ์ที่ควรจะจัดการก่อน?

ในเหตุการณ์เดือดองค์ประกอบส่วนใหญ่ภายในได้รับการดูแลก่อนแล้วด้านนอกที่: <p> เหตุการณ์คลิกองค์ประกอบจะถูกจัดการก่อนแล้ว <div> เหตุการณ์คลิกองค์ประกอบ

ในการจับภาพเหตุการณ์ที่เกิดขึ้นมากที่สุดองค์ประกอบด้านนอกได้รับการดูแลก่อนแล้วภายในที่: <div> เหตุการณ์คลิกองค์ประกอบจะถูกจัดการก่อนแล้ว <p> เหตุการณ์คลิกองค์ประกอบ

ด้วย addEventListener() วิธีการที่คุณสามารถระบุชนิดของการขยายพันธุ์โดยใช้ "useCapture" พารามิเตอร์:

addEventListener( event , function , useCapture );

ค่าเริ่มต้นเป็นเท็จซึ่งจะใช้การขยายพันธุ์เดือดเมื่อตั้งค่าเป็นจริงเหตุการณ์ใช้ขยายพันธุ์จับ

ตัวอย่าง

document.getElementById("myP").addEventListener("click", myFunction, true);
document.getElementById("myDiv").addEventListener("click", myFunction, true);
ลองตัวเอง»

removeEventListener() วิธีการ

removeEventListener() วิธีการเอาตัวจัดการเหตุการณ์ที่ได้รับการติดอยู่กับ addEventListener() วิธีการ:

ตัวอย่าง

element .removeEventListener("mousemove", myFunction);
ลองตัวเอง»

สนับสนุนเบราว์เซอร์

ตัวเลขในตารางระบุราว์เซอร์รุ่นแรกที่สนับสนุนอย่างเต็มที่วิธีการเหล่านี้

วิธี
addEventListener() 1.0 9.0 1.0 1.0 7.0
removeEventListener() 1.0 9.0 1.0 1.0 7.0

หมายเหตุ: addEventListener() และ removeEventListener() วิธีการที่ไม่ได้รับการสนับสนุนใน IE 8 และรุ่นก่อนหน้าและ Opera 6.0 และรุ่นก่อนหน้า แต่สำหรับรุ่นนี้เบราว์เซอร์ที่เฉพาะเจาะจงคุณสามารถใช้ attachEvent() วิธีการในการแนบจัดการเหตุการณ์กับองค์ประกอบและ detachEvent() วิธีการที่จะลบออก:

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

ตัวอย่าง

วิธีการแก้ปัญหาเบราว์เซอร์:

var x = document.getElementById("myBtn");
if (x.addEventListener) {                    // For all major browsers, except IE 8 and earlier
    x.addEventListener("click", myFunction);
} else if (x.attachEvent) {                  // For IE 8 and earlier versions
    x.attachEvent("onclick", myFunction);
}
ลองตัวเอง»

อ้างอิงวัตถุ HTML DOM เหตุการณ์

สำหรับรายชื่อของกิจกรรมทั้งหมดของ HTML DOM ให้ดูที่ของเราสมบูรณ์ HTML DOM เหตุการณ์อ้างอิงวัตถุ