jQuery点击()事件在另一个点击()中获胜'我不能在手机上工作

jQuery click() event inside another click() event won't work on mobile

本文关键字:不能 手机 工作 事件 点击 另一个 jQuery 获胜      更新时间:2023-09-26

我想制作一个从页面右侧滑出的移动菜单,在显示后显示适当的导航。我使用sidr.js插件创建滑动转换,所有导航显示都很好。我在电脑上有完整的移动菜单功能,这个东西看起来很棒,功能也很好。

然而,当我切换到手机并转到网站时,导航有一个重大缺陷。我在导航区域的顶部放了一个按钮,当点击时会关闭侧面导航。下面是执行此任务的功能,在计算机上它很好。问题是它在手机上不起作用!!请帮忙,我很困惑为什么这不起作用。

$(document).on('click', 'a.btn.btn-default.mobile-btn', function(event) {
  event.preventDefault();
  $("#responsive-menu-button").click();
});

您也可以在http://mgm702.github.io但你必须使用移动设备才能注意到这个问题。此外,我已经尝试过cursor: pointer;选项,但它没有起作用。

我找到了一个适用于我的特定情况的解决方案。我使用的是Sidr.js插件,其中一个功能是内置的关闭菜单滑块的功能。我将此附加到我当前使用的函数中,这纠正了问题。菜单随后与移动设备触摸界面配合使用。我的最后一个功能看起来像这个

$(document).on('click touchstart', 'a.btn.btn-default.mobile-btn', function(event) {
  event.preventDefault();
  $.sidr('close','sidr-main'); 
});

我希望这篇文章能帮助将来处理这个问题的人!

data-role="button"添加到responsive-menu-button中就可以了。