1. โมเดลเหตุการณ์ดั้งเดิม
ประเภทเหตุการณ์ของมัน: แบ่งออกเป็น "เหตุการณ์อินพุต (เช่น onclicki)" และ "เหตุการณ์ความหมาย (เช่น onsubmit)"
การลงทะเบียนโปรแกรมกิจกรรมสามารถทำได้ในรูปแบบต่อไปนี้:
1. รหัส JS เป็นค่าคุณสมบัติ HTML
การคัดลอกรหัสมีดังนี้: <อินพุต type = "button" value = "กดฉัน" onclick = "การแจ้งเตือน ('ขอบคุณ');"
2. ตัวจัดการเหตุการณ์เป็นแอตทริบิวต์ JS
หมายเหตุ: แต่ละองค์ประกอบ HTML ในเอกสารมีวัตถุ JS ที่สอดคล้องกันในแผนผังเอกสาร คุณลักษณะของวัตถุ JS นี้สอดคล้องกับคุณสมบัติขององค์ประกอบ HTML นั้น ไม่ว่าจะเป็นรหัส JS ของธรรมชาติ HTML หรือตัวจัดการเวลาของแอตทริบิวต์ JS คุณลักษณะของตัวเองเป็นฟังก์ชัน "ฟังก์ชั่น"
คัดลอกรหัสดังนี้: <form name = "f1">
<input name = "b1" type = "button" value = "กดฉัน"/>>
</form>
วิธีการกำหนดครั้งแรก:
การคัดลอกรหัสมีดังนี้: document.f1.b1.onclick = function () {Alert ('ขอบคุณ');};
วิธีการมอบหมายที่สอง:
การคัดลอกรหัสมีดังนี้: ฟังก์ชั่นขอร้อง () {window.status = "โปรดกดฉัน!";}
document.f1.bi.onmouseover = ขอร้อง;
ตัวจัดการเหตุการณ์เป็นแอตทริบิวต์ JS สามารถเรียกได้อย่างชัดเจนด้วยแอตทริบิวต์ JS
การคัดลอกรหัสมีดังนี้: document.myfrom.onsubmit ();
ตัวจัดการเหตุการณ์สามารถส่งคืน Fale เพื่อป้องกันไม่ให้เบราว์เซอร์ดำเนินการเริ่มต้นของเหตุการณ์ซึ่งใช้กันทั่วไปเช่น Onsubmit ข้อยกเว้นคือ
การปิดกั้น Window.status Display Event ของ Hyperlink Mouseover คือการกลับมาเป็นจริง ตัวอย่างเช่น:
คัดลอกรหัสดังนี้: <a href = "help.htm" onMouseOver = "window.status = 'help'; return true;"> help </a>
2. โมเดลเหตุการณ์ DOM2
แบบจำลองนี้มีการกำหนดโดยอ้างอิงกับโมเดลฟอง IE ซึ่งเป็นข้อกำหนดที่กำหนดโดย W3C ในโมเดลดั้งเดิมการจัดการเหตุการณ์จะเรียกโดยตรงเมื่อเหตุการณ์เกิดขึ้นและไม่มีกระบวนการเผยแพร่เหตุการณ์อื่น ๆ ในโมเดล DOM2 เหตุการณ์มีกระบวนการเผยแพร่พิเศษซึ่งแบ่งออกเป็นสามขั้นตอน:
(1) การจับภาพขั้นตอน: เหตุการณ์ถูกเผยแพร่จากเอกสารไปยังองค์ประกอบเป้าหมาย ในระหว่างกระบวนการนี้หากองค์ประกอบของบรรพบุรุษมีความสนใจในเหตุการณ์คุณสามารถลงทะเบียนฟังก์ชั่นการประมวลผลของคุณเอง
(2) เฟสเป้าหมาย: เหตุการณ์ถึงองค์ประกอบเป้าหมายและดำเนินการฟังก์ชั่นการจัดการเหตุการณ์ขององค์ประกอบเป้าหมาย
(3) เฟสเดือด: เหตุการณ์เพิ่มขึ้นจากองค์ประกอบเป้าหมายจนถึงเอกสาร แม้ว่าทุกประเภทเหตุการณ์จะต้องผ่านขั้นตอนการ captruing แต่มีเพียงบางเหตุการณ์เท่านั้นที่จะผ่านขั้นตอนเฟสเดือดรวมตัวอย่างเช่นเหตุการณ์ส่งจะไม่ลอย
ในระหว่างกระบวนการแพร่กระจายเหตุการณ์ทั้งหมดเหตุการณ์ stoppropagation () สามารถเรียกได้เพื่อหยุดการแพร่กระจายของเหตุการณ์และ preventDefault () สามารถเรียกใช้เพื่อบล็อกพฤติกรรมเริ่มต้นของเบราว์เซอร์
การคัดลอกรหัสมีดังนี้: AddEventListener ("EventType", "Handler", "True! False");
removeEventListner ("EventType", "Handler", "true! false");
เช่นรุ่น
โมเดล IE ยังให้วัตถุเหตุการณ์ที่ห่อหุ้มข้อมูลโดยละเอียดของเหตุการณ์ แต่ IE ไม่ได้ส่งผ่านวัตถุไปยังฟังก์ชั่นการจัดการเหตุการณ์ เนื่องจากจะมีเหตุการณ์เพียงครั้งเดียวในเวลาใดก็ได้เช่นถือว่าเป็นคุณลักษณะของหน้าต่างวัตถุทั่วโลก โหมดการแพร่กระจายเหตุการณ์ใน IE สอดคล้องกับขั้นตอนที่สองและสามของ DOM2 ขั้นแรกฟังก์ชั่นการประมวลผลขององค์ประกอบเป้าหมายจะถูกดำเนินการจากนั้นการอัปโหลดถึงเอกสาร เท่านั้นที่สามารถจับเหตุการณ์เมาส์ได้ใน IE เหตุการณ์ทั้งหมดสามารถจับได้ใน DOM2 วิธีการลงทะเบียนและลบฟังก์ชั่นการจัดการเหตุการณ์ใน IE นั้นแตกต่างจาก DOM2 เช่นกัน
การลงทะเบียนและการลบตัวจัดการเหตุการณ์นั้นผ่านสิ่งที่แนบมาขององค์ประกอบ ("EventType", "Handler") และ Detachevent ("EventType", "Handler") ซึ่งแตกต่างจาก DOM2, EventType มีคำนำหน้า
คุณสมบัติ:
1. กระบวนการแพร่กระจายเท่านั้นฟองและไม่จับมัน วิธีการขัดจังหวะฟอง:
window.ecent.cancelBubble = true;
2. วัตถุเหตุการณ์ไม่ใช่พารามิเตอร์ฟังก์ชั่นของตัวจัดการเหตุการณ์ แต่เป็นตัวแปรส่วนกลางของหน้าต่าง
3. ฟังก์ชั่นการลงทะเบียนเหตุการณ์: attainEvent () และการลงทะเบียน: detachevent ()
4. โมเดลกิจกรรม NetScape4
เนื่องจาก NetScape ดูเหมือนจะหยุดการพัฒนาอย่างสมบูรณ์ฉันจะไม่อธิบายอย่างละเอียด พูดง่ายๆก็คือมันแค่จับและไม่ได้ฟอง
ข้างต้นเป็นการแนะนำขั้นพื้นฐานเกี่ยวกับโมเดลเหตุการณ์ JavaScript ฉันหวังว่ามันจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น