I came across an issue with an old wordpress site where the mobile menu did not close when a menu item link to internal page content because the url started with # hash.
So I worked out that you could close the menu suing jQuery by doing the following.
$('.mobile-button.active').click();So this was the same as the user clicking the burger menu to close it. But then I needed to only do this when a link was clicked that started with # hash. The following was used.
jQuery(document).ready(function($) {
$('a[href^="#"]').on('click', function(e) {
// Prevent the default behavior of the link
//e.preventDefault();
// Get the href attribute of the clicked link
var href = $(this).attr('href');
// Check if the URL starts with '#'
if (href.charAt(0) === '#') {
// URL starts with '#', do something
console.log('URL starting with "#" clicked');
$('.mobile-button.active').click(); //go ahead and close the menu
}
});
});