diff --git a/src/hijackers/timer.ts b/src/hijackers/timer.ts index 50d3c8f17..85d01e01d 100644 --- a/src/hijackers/timer.ts +++ b/src/hijackers/timer.ts @@ -8,8 +8,8 @@ import { sleep } from '../utils'; export default function hijack() { - const rawWindowInterval = window.setInterval.bind(window); - const rawWindowTimeout = window.setTimeout.bind(window); + const rawWindowInterval = window.setInterval; + const rawWindowTimeout = window.setTimeout; const timerIds: number[] = []; const intervalIds: number[] = []; diff --git a/src/hijackers/windowListener.ts b/src/hijackers/windowListener.ts index ce615446b..22ceb95a7 100644 --- a/src/hijackers/windowListener.ts +++ b/src/hijackers/windowListener.ts @@ -29,9 +29,9 @@ export default function hijack() { return function free() { - listenerMap.forEach((listeners, type) => listeners.forEach(listener => window.removeEventListener(type, listener))); - window.addEventListener = rawAddEventListener.bind(window); - window.removeEventListener = rawRemoveEventListener.bind(window); + listenerMap.forEach((listeners, type) => [...listeners].forEach(listener => window.removeEventListener(type, listener))); + window.addEventListener = rawAddEventListener; + window.removeEventListener = rawRemoveEventListener; return noop; };