Fix Non-English Anchor Popover Positioning Issue and Update Type Hint (#1252)
- [Major] Changed `hash` passed to `querySelector` to `decodeURIComponent(hash)` to fix the issue where non-English anchors were not correctly positioning the popover content to the corresponding title. - [Minor] Updated the type hint from `HTMLLinkElement` to `HTMLAnchorElement` as the passed element is an `<a>` element, not a `<link>` element (reference: https://developer.mozilla.org/en-US/docs/Web/API/HTMLLinkElement).
This commit is contained in:
		
							parent
							
								
									6245935c8c
								
							
						
					
					
						commit
						4eeacb7fbf
					
				| @ -3,7 +3,7 @@ import { normalizeRelativeURLs } from "../../util/path" | ||||
| 
 | ||||
| const p = new DOMParser() | ||||
| async function mouseEnterHandler( | ||||
|   this: HTMLLinkElement, | ||||
|   this: HTMLAnchorElement, | ||||
|   { clientX, clientY }: { clientX: number; clientY: number }, | ||||
| ) { | ||||
|   const link = this | ||||
| @ -33,7 +33,7 @@ async function mouseEnterHandler( | ||||
|   thisUrl.hash = "" | ||||
|   thisUrl.search = "" | ||||
|   const targetUrl = new URL(link.href) | ||||
|   const hash = targetUrl.hash | ||||
|   const hash = decodeURIComponent(targetUrl.hash) | ||||
|   targetUrl.hash = "" | ||||
|   targetUrl.search = "" | ||||
| 
 | ||||
| @ -100,7 +100,7 @@ async function mouseEnterHandler( | ||||
| } | ||||
| 
 | ||||
| document.addEventListener("nav", () => { | ||||
|   const links = [...document.getElementsByClassName("internal")] as HTMLLinkElement[] | ||||
|   const links = [...document.getElementsByClassName("internal")] as HTMLAnchorElement[] | ||||
|   for (const link of links) { | ||||
|     link.addEventListener("mouseenter", mouseEnterHandler) | ||||
|     window.addCleanup(() => link.removeEventListener("mouseenter", mouseEnterHandler)) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user