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:
parent
037d3406ee
commit
190350ecea
|
@ -172,9 +172,9 @@ function twentytwentyoneExpandSubMenu( el ) { // jshint ignore:line
|
||||||
*
|
*
|
||||||
* @since Twenty Twenty-One 1.1
|
* @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 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' );
|
wrapper.classList.remove( id + '-navigation-open', 'lock-scrolling' );
|
||||||
twentytwentyoneToggleAriaExpanded( mobileButton );
|
twentytwentyoneToggleAriaExpanded( mobileButton );
|
||||||
// Wait 550 and scroll to the anchor.
|
// Wait 550 and scroll to the anchor.
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
*
|
*
|
||||||
* @global string $wp_version
|
* @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.
|
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
||||||
|
|
Loading…
Reference in New Issue