From fc4804c8bc2b0cc3b55bd3013e44316c63afddcb Mon Sep 17 00:00:00 2001 From: Yanzhen Yu Date: Tue, 6 Nov 2018 14:23:55 +0800 Subject: [PATCH] prevent form and a tag default behaviour --- src/replay/index.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/replay/index.ts b/src/replay/index.ts index d5ca8024..8e00cf45 100644 --- a/src/replay/index.ts +++ b/src/replay/index.ts @@ -197,8 +197,16 @@ export class Replayer { ) { mirror.map = rebuild(event.data.node, this.iframe.contentDocument!)[1]; // avoid form submit to refresh the iframe - this.iframe.contentDocument!.querySelectorAll('form').forEach(form => { - form.addEventListener('submit', evt => evt.preventDefault()); + this.iframe.contentDocument!.addEventListener('submit', evt => { + if (evt.target && (evt.target as Element).tagName === 'FORM') { + evt.preventDefault(); + } + }); + // avoid a link click to refresh the iframe + this.iframe.contentDocument!.addEventListener('click', evt => { + if (evt.target && (evt.target as Element).tagName === 'A') { + evt.preventDefault(); + } }); }