diff --git a/packages/zone.js/lib/browser/event-target.ts b/packages/zone.js/lib/browser/event-target.ts index 412eb4964d4d..3439d1388592 100644 --- a/packages/zone.js/lib/browser/event-target.ts +++ b/packages/zone.js/lib/browser/event-target.ts @@ -7,7 +7,8 @@ */ export function eventTargetPatch(_global: any, api: _ZonePrivate) { - if ((Zone as any)[api.symbol('patchEventTarget')]) { + const patchSym = api.symbol('patchEventTarget'); + if ((Zone as any).hasOwnProperty(patchSym) && (Zone as any)[patchSym]) { // EventTarget is already patched. return; } diff --git a/packages/zone.js/lib/common/events.ts b/packages/zone.js/lib/common/events.ts index 73a67cfd2c8c..f64642677601 100644 --- a/packages/zone.js/lib/common/events.ts +++ b/packages/zone.js/lib/common/events.ts @@ -488,7 +488,11 @@ export function patchEventTarget( const compare = patchOptions?.diff || compareTaskCallbackVsDelegate; - const unpatchedEvents: string[] = (Zone as any)[zoneSymbol('UNPATCHED_EVENTS')]; + const unpatchedSymbol = zoneSymbol('UNPATCHED_EVENTS'); + const unpatchedEvents: string[] = (Zone as any).hasOwnProperty(unpatchedSymbol) + ? (Zone as any)[unpatchedSymbol] + : []; + const passiveEvents: string[] = _global[zoneSymbol('PASSIVE_EVENTS')]; function copyEventListenerOptions(options: any) {