เมื่อเร็ว ๆ นี้ในโครงการคุณต้องให้เหตุการณ์ที่มีผลผูกพันกับองค์ประกอบกับ JS แบบไดนามิก คุณไม่เคยใช้สิ่งเหล่านี้มาก่อน โดยวิธีการที่คุณสามารถเรียนรู้เกี่ยวกับมัน ดังนั้นคุณจะใช้ Google เหตุการณ์และเขียนสองเหตุการณ์ต่อไปนี้หนึ่งเพิ่มเหตุการณ์และอีกเหตุการณ์หนึ่งคือการลบเหตุการณ์
/addeventListener (), removeEventListener () ใช้เพื่อจัดการการดำเนินงานของการระบุและลบตัวจัดการเหตุการณ์ // ขอบเขต: ตัวจัดการเหตุการณ์จะทำงานภายในขอบเขตขององค์ประกอบ // addeventListener (เหตุการณ์, ฟังก์ชั่น, การจับ/ฟอง); removeEventListener (เหตุการณ์, ฟังก์ชั่น, การจับ/ฟอง) // เหตุการณ์พารามิเตอร์แสดงในตารางด้านบน ฟังก์ชั่นคือฟังก์ชั่นที่จะดำเนินการ การจับและฟองเป็นสองโหมดเวลาที่กำหนดโดย W3C // ง่ายๆการจับภาพคือการอ่านบรรทัดสุดท้ายจากจุดเริ่มต้นของเอกสารแล้วดำเนินการเหตุการณ์ Bubble ก่อนพบตำแหน่งที่ระบุแล้วดำเนินการเหตุการณ์ // พารามิเตอร์การจับ/ฟองคือค่าบูลีนหมายถึงการใช้การจับภาพเท็จคือฟังก์ชัน Bubble AddEvent () {var obj = document.getElementById ("txtiatacity"); if (window.addeventListener) {// รหัสเหตุการณ์สำหรับเบราว์เซอร์อื่น ๆ : Mozilla, Netscape, Firefox // ลำดับของเหตุการณ์ที่เพิ่มขึ้นคือลำดับการดำเนินการ // หมายเหตุที่เพิ่มเหตุการณ์ด้วยการใช้ addEventListener } else {// รหัสเหตุการณ์ของ IE เพิ่มวิธีการเพิ่ม obj.attachevent ('onfocus', function () {test ('aa')}); }} ฟังก์ชั่น removeEvnent () {var obj = document.getElementById ("txtiatacity"); if (window.removeEventListener) {obj.removeEventListener ('โฟกัส', ฟังก์ชัน () {ทดสอบ ('aa')}, false); } else {obj.detachevent ('onfocus', function () {test ('aa')}); -เมื่อโหลดหน้าวิธีการข้างต้นจะถูกเรียกไปยังเหตุการณ์การเชื่อมโยงอินพุต การทดสอบจะถูกเพิ่มสำเร็จ แต่การลบจะไม่ประสบความสำเร็จ ดังนั้นฉันจึงค้นหาเอกสารอ้างอิงออนไลน์
// เหตุการณ์ที่เพิ่มผ่าน AddEventListener () สามารถลบออกได้โดย removeVentListener () เท่านั้น ทำเสร็จแล้ว มีอีกประโยคหนึ่งด้านล่าง: // ฟังก์ชั่นที่ไม่ระบุชื่อที่เพิ่มโดย addeventListener () เมื่อลบจะไม่ถูกลบออก พบปัญหา function () {test ('aa')} // ไม่ถูกต้องเนื่องจากวิธีการที่ส่งผ่านใน addeventListener () และ removeEventListener () ไม่ใช่วิธีเดียวกันดังนั้นการทดสอบ ('aa') จึงถูกเสนอและเขียนเป็นฟังก์ชัน (msg) {Alert (msg)} if (window.addeventListener) {// รหัสเหตุการณ์สำหรับเบราว์เซอร์อื่น ๆ : Mozilla, Netscape, Firefox // ลำดับของเหตุการณ์ที่เพิ่มขึ้นคือลำดับการดำเนินการ // หมายเหตุที่เพิ่มเหตุการณ์ด้วยการใช้ addEventListener}}; } else {// รหัสเหตุการณ์ของ IE เพิ่มวิธีการเพิ่ม obj.attachevent ('onfocus', ทดสอบ ('msg')}); }} ฟังก์ชั่น removeEvnent () {var obj = document.getElementById ("txtiatacity"); if (window.removeeVentListener) {obj.removeEventListener ('โฟกัส', ทดสอบ ('msg')}, false); } else {obj.detachevent ('onfocus', ทดสอบ ('msg')); -ดังนั้นการดำเนินการ IE Prompt: ประเภทที่ไม่ตรงกันดูเหมือนว่าจะไม่รองรับฟังก์ชั่นที่มีพารามิเตอร์ดังนั้นฟังก์ชันจะถูกห่อหุ้มเป็นรูปแบบที่ไม่มีพารามิเตอร์อีกครั้ง
การดำเนินการ, การเพิ่มประสบความสำเร็จ, การกำจัดหรือความล้มเหลว หลังจากค้นหาออนไลน์เป็นเวลานานฉันเกือบจะเขียนด้วยวิธีนี้และมันก็ประสบความสำเร็จ ฉันไม่รู้ว่าทำไมฉันไม่สามารถลบของฉันได้
ต่อมาฉันเห็นว่า jQuery ถูกอ้างอิงในหน้าดังนั้นฉันจึงใช้เหตุการณ์การผูกและปลดเหตุการณ์ของ jQuery เพื่อให้ประสบความสำเร็จ
อนิจจามาแก้ปัญหานี้กันเถอะเมื่อโครงการเสร็จสิ้น
วิธีการใช้งาน JS Dynamic ด้านบนของการเพิ่มและลบเหตุการณ์ไปยังองค์ประกอบคือเนื้อหาทั้งหมดที่ฉันแบ่งปันกับคุณ ฉันหวังว่าคุณจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น