Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การลบ Event Listener จากภายในฟังก์ชันภายนอกใน JavaScript

คำอธิบาย

ใช้ 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 คลิกครั้งต่อไปไม่ทำงาน