diff --git a/packages/interpreter/gen/interpreter.js b/packages/interpreter/gen/interpreter.js index 62cf3dd13..429b5c95a 100644 --- a/packages/interpreter/gen/interpreter.js +++ b/packages/interpreter/gen/interpreter.js @@ -217,7 +217,11 @@ export class Interpreter { } } // walk the tree to find the real element - while (realId == null && target.parentElement != null) { + while (realId == null) { + // we've reached the root we don't want to send an event + if (target.parentElement === null) { + return; + } target = target.parentElement; realId = target.getAttribute(`data-dioxus-id`); } @@ -270,7 +274,7 @@ export class Interpreter { } } } -function serialize_event(event) { +export function serialize_event(event) { switch (event.type) { case "copy": case "cut": diff --git a/packages/web/src/bindings.rs b/packages/web/src/bindings.rs index fe25fcec0..356f5b8eb 100644 --- a/packages/web/src/bindings.rs +++ b/packages/web/src/bindings.rs @@ -226,7 +226,11 @@ export class Interpreter { } } // walk the tree to find the real element - while (realId == null && target.parentElement != null) { + while (realId == null) { + // we've reached the root we don't want to send an event + if (target.parentElement === null) { + return; + } target = target.parentElement; realId = target.getAttribute(`data-dioxus-id`); } @@ -279,7 +283,7 @@ export class Interpreter { } } } -function serialize_event(event) { +export function serialize_event(event) { switch (event.type) { case "copy": case "cut":