diff --git a/apps/readest-app/src/app/reader/components/FootnotePopup.tsx b/apps/readest-app/src/app/reader/components/FootnotePopup.tsx index d10c9ed6..2c26b138 100644 --- a/apps/readest-app/src/app/reader/components/FootnotePopup.tsx +++ b/apps/readest-app/src/app/reader/components/FootnotePopup.tsx @@ -36,6 +36,15 @@ const FootnotePopup: React.FC = ({ bookKey, bookDoc }) => { const handleBeforeRender = (e: Event) => { const detail = (e as CustomEvent).detail; const { view } = detail; + view.addEventListener('link', (e: Event) => { + e.preventDefault(); + const { detail: popupLinkDetail } = e as CustomEvent; + popupLinkDetail['follow'] = true; + footnoteHandler.handle(bookDoc, e)?.catch((err) => { + console.warn(err); + getView(bookKey)?.goTo(popupLinkDetail.href); + }); + }); footnoteViewRef.current = view; footnoteRef.current?.replaceChildren(view); const { renderer } = view; diff --git a/packages/foliate-js b/packages/foliate-js index 0b2fdf1a..a4480cfa 160000 --- a/packages/foliate-js +++ b/packages/foliate-js @@ -1 +1 @@ -Subproject commit 0b2fdf1a5b31a2aa740d86061ca6710ec9798567 +Subproject commit a4480cfa938b1506c489d09f165e4d32e6da999b