Twenty Twenty-One: Refine `primary-navigation.js` behavior for anchor links.

This changeset fixes a bug where clicking on an anchor link in the content changes the state of the button that opens and closes the responsive menu. It adds a conditional to check if the clicked anchor link is inside the primary navigation menu (`#site-navigation`), in order to prevent content anchor links from changing the state of the button.

Known limitations: The state of the button is not reset when the browser is resized. If a menu anchor link is first clicked while on desktop width, and the browser width is reduced, the menu button will show the text "Close" even though the menu is not opened.

Props andreaboe, sabernhardt, poena, afercia, chaion07, cu121, mukesh27.
Fixes #53331.

Built from https://develop.svn.wordpress.org/trunk@55124


git-svn-id: http://core.svn.wordpress.org/trunk@54657 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
audrasjb 2023-01-24 12:59:10 +00:00
parent 037d3406ee
commit 190350ecea
2 changed files with 3 additions and 3 deletions

View File

@ -172,9 +172,9 @@ function twentytwentyoneExpandSubMenu( el ) { // jshint ignore:line
*
* @since Twenty Twenty-One 1.1
*/
document.addEventListener( 'click', function( event ) {
document.getElementById( 'site-navigation' ).addEventListener( 'click', function( event ) {
// If target onclick is <a> with # within the href attribute
if ( event.target.hash && event.target.hash.includes( '#' ) ) {
if ( event.target.hash ) {
wrapper.classList.remove( id + '-navigation-open', 'lock-scrolling' );
twentytwentyoneToggleAriaExpanded( mobileButton );
// Wait 550 and scroll to the anchor.

View File

@ -16,7 +16,7 @@
*
* @global string $wp_version
*/
$wp_version = '6.2-alpha-55123';
$wp_version = '6.2-alpha-55124';
/**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.