diff --git a/packages/next/client/link.tsx b/packages/next/client/link.tsx index 13ca9d9844422f1..2aba7f79139d8b8 100644 --- a/packages/next/client/link.tsx +++ b/packages/next/client/link.tsx @@ -86,7 +86,10 @@ function linkClicked( ): void { const { nodeName } = e.currentTarget - if (nodeName === 'A' && (isModifiedEvent(e) || !isLocalURL(href))) { + // anchors inside an svg have a lowercase nodeName + const isAnchorNodeName = nodeName.toUpperCase() === 'A' + + if (isAnchorNodeName && (isModifiedEvent(e) || !isLocalURL(href))) { // ignore click for browser’s default behavior return } diff --git a/test/integration/client-navigation/pages/nav/index.js b/test/integration/client-navigation/pages/nav/index.js index 7326eaf577e0a55..bf4abf1646acfe7 100644 --- a/test/integration/client-navigation/pages/nav/index.js +++ b/test/integration/client-navigation/pages/nav/index.js @@ -78,14 +78,33 @@ export default class extends Component { - A element with onClick + An element with onClick - A element with target + An element with target + + + + + + + + +