From 69a51c5880997ba165bc12f033d8667057441e68 Mon Sep 17 00:00:00 2001 From: Huang Xin Date: Sun, 4 Jan 2026 06:06:24 +0100 Subject: [PATCH] compat(footnote): support alt footnote inside placeholder anchor (#2858) --- .../src/app/reader/utils/iframeEventHandlers.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/apps/readest-app/src/app/reader/utils/iframeEventHandlers.ts b/apps/readest-app/src/app/reader/utils/iframeEventHandlers.ts index d499cbec..dbb635c1 100644 --- a/apps/readest-app/src/app/reader/utils/iframeEventHandlers.ts +++ b/apps/readest-app/src/app/reader/utils/iframeEventHandlers.ts @@ -177,10 +177,13 @@ export const handleClick = ( const postSingleClick = () => { const element = event.target as HTMLElement | null; - if (element?.closest('sup, a, audio, video')) { + if ( + element?.closest('sup, a, audio, video') && + !element?.closest('a.duokan-footnote:not([href])') + ) { return; } - const footnote = element?.closest('.js_readerFooterNote, .zhangyue-footnote'); + const footnote = element?.closest('.js_readerFooterNote, .zhangyue-footnote, .duokan-footnote'); if (footnote) { eventDispatcher.dispatch('footnote-popup', { bookKey, @@ -189,6 +192,7 @@ export const handleClick = ( footnote.getAttribute('data-wr-footernote') || footnote.getAttribute('zy-footnote') || footnote.getAttribute('alt') || + element?.getAttribute('alt') || '', }); return;