คำอธิบายวิธี:
ลบผู้ฟังทั้งหมดและหากมีการระบุเหตุการณ์ผู้ฟังทั้งหมดสำหรับเหตุการณ์ที่ระบุจะถูกลบออก
ไวยากรณ์:
การคัดลอกรหัสมีดังนี้:
emitter.removealllisteners ([Event])
รับพารามิเตอร์:
ประเภทเหตุการณ์เหตุการณ์รองรับหลาย ๆ
ตัวอย่าง:
การคัดลอกรหัสมีดังนี้:
// ลบผู้ฟังทั้งหมด
emitter.removealllisteners ()
// ลบผู้ฟังทั้งหมดของเหตุการณ์ที่ระบุ
emitter.removealllisteners ('data')
ซอร์สโค้ด:
การคัดลอกรหัสมีดังนี้:
Eventemitter.prototype.removealLlisteners = ฟังก์ชั่น (ประเภท) {
คีย์ var, ผู้ฟัง;
if (! this._events)
คืนสิ่งนี้;
// ไม่ฟัง removeListener ไม่จำเป็นต้องปล่อยออกมา
if (! this._events.remoVelistener) {
if (arguments.length === 0)
this._events = {};
อื่นถ้า (this._events [type])
ลบสิ่งนี้ _Events [type];
คืนสิ่งนี้;
-
// EMIT RemoveListener สำหรับผู้ฟังทุกคนในทุกเหตุการณ์
if (arguments.length === 0) {
สำหรับ (คีย์ใน this._events) {
ถ้า (key === 'RemoveListener') ดำเนินการต่อ;
สิ่งนี้ removealllisteners (กุญแจ);
-
this.removealllisteners ('RemoveListener');
this._events = {};
คืนสิ่งนี้;
-
ฟัง = this._events [type];
if (util.isfunction (ผู้ฟัง)) {
this.removelistener (ประเภท, ผู้ฟัง);
} อื่น {
// คำสั่ง LIFO
ในขณะที่ (listeners.length)
this.removelistener (ประเภท, ผู้ฟัง [listeners.length - 1]);
-
ลบสิ่งนี้ _Events [type];
คืนสิ่งนี้;
-