我是开发 WordPress 主题的新手,但在导航菜单中遇到了一些问题。由于某些原因,我想通过 jQuery 打开子菜单,但失败了。你们能帮我解决这个问题吗?我在不同的 php 和 js 页面中编写了以下代码。
标题.php
<div class="anilaDefaultHeader__bottom">
<nav class="main-menu" role="navigation" aria-label="<?php esc_html_e( 'Main Navigation', 'anila' ) ?>">
<?php
get_template_part( 'template/header/main-menu' );
?>
</nav>
<div class="search-area">
<?php get_search_form(); ?>
</div>
</div>
/src/js/navigation.js
import $ from 'jquery';
$( '.anilaDefaultHeader__bottom' ).on( 'mouseenter', '.menu-item-has-children' (e) => {
$(.currentTarget).addClass('open');
}).on('mouseleave', '.menu-item-has-children', (e) => {
$(e.currentTarget).removeClass('open');
})
/lib/anila-script.php
function anila_custom_script() {
wp_enqueue_style( 'style-css',get_template_directory_uri() . '/src/css/main.css' );
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
wp_enqueue_script( 'comment-reply' );
}
wp_enqueue_script( 'anila_script', get_template_directory_uri() . '/src/js/navigation.js', array( 'jquery' ), '1.0.0', true);
include( get_template_directory() . '/lib/inline-css.php' );
wp_add_inline_style( 'style-css', $inline_styles );
}
add_action( 'wp_enqueue_scripts', 'anila_custom_script' );
一切正常,但当我悬停时,唯一的子菜单没有打开。
如果我去检查并手动添加“打开”类,它会正确显示。但它应该在我悬停时打开。我去检查和控制台并发现错误
**
“不能在模块外使用导入语句”
**
当我删除
import $ from 'jquery';
来自 navigation.js
然后这个消息出现在 inspect->console
**
$ 不是函数 navigation.js?ver=1.0.0:2
**
请帮助修复它。
一只甜甜圈