หากต้องการลบ Listener ออกจากฟังก์ชันภายนอก ให้ใช้ removeEventListener()
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"> <script src="https://code.jquery.com/jquery-1.12.4.js"></script> <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> <body> <button id="demo">Press Me</button> </body> <script> var demoId = document.getElementById('demo'); demoId.addEventListener('click', function fun() { outerFunction(this, fun); }, false); function outerFunction(self, funct) { console.log('outer function is called....'); self.removeEventListener('click', funct, false); console.log("Listener has been removed...") } </script> </html>
ในการรันโปรแกรมข้างต้น ให้บันทึกชื่อไฟล์ anyName.html(index.html) และคลิกขวาที่ไฟล์ เลือกตัวเลือก “เปิดด้วยเซิร์ฟเวอร์จริง” ในตัวแก้ไข VS Code
ผลลัพธ์
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
หลังจากคลิกปุ่ม “Press Me” แล้ว
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้บนคอนโซล -