คำอธิบาย
ใช้ removeEventListener() ภายในฟังก์ชันภายนอกเพื่อลบ listener ที่เพิ่มไว้ก่อนหน้า
ตัวอย่างโค้ด
<button id="demo">Press Me</button>
<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>
ผลลัพธ์
คลิกปุ่มครั้งแรก: แสดง log แล้วลบ listener คลิกครั้งต่อไปไม่ทำงาน