我在WP移动导航菜单中进行了更改。我使用.off('click)函数停止重定向。在需要时如何打开它们?
$('.et_mobile_menu .menu-item-has-children > a').each(function() {
$(this).off('click');
});
$('.et_mobile_menu .menu-item-has-children > a').on('click', function(event) {
event.preventDefault();
if ($(this).next('span').hasClass('menu-open')) {
/* $(this).off('click') <-- Turn it on back (return link to button) */
return;
} else {
$(this).next('span').toggleClass('menu-open');
$(this).next('span').next('.sub-menu').toggleClass('hide',1000);
}
});
为什么要首先删除(关闭)EventHandler?为什么不保留单击事件侦听器并更改类或自定义数据属性。
可能的解决方案可能是:
[需要时添加活动类($(this).addClass('active')
),需要禁用该项目时,请删除该类($(this).removeClass('active')
)。确保使用hasClass
在事件监听器中检查该类。
希望这会有所帮助!