【问题标题】:how to close the menu with a Click outside in jquery on iPad如何在 iPad 上的 jquery 外部单击关闭菜单
【发布时间】:2014-03-27 10:48:16
【问题描述】:

当您在 iPad 上触摸菜单时,我得到了一个可以正确打开和正确关闭的菜单。没关系,但是当您触摸菜单外时,我也想关闭菜单。当你触摸图片和链接时它会起作用,但当你触摸其他任何地方时它就不起作用了。

这是我的代码:

HTML:

<nav onclick="" class="acconicon">

<nav class="accon">


 <figure class="acmlogo"></figure>


<h5 class="acconh5">Hovedmenu</h5>      
<ul class="sbm3">
    <a href="index.php"><li class="acfront">Forside </li></a>
    <a href="news.php"><li class="acnews">Nyheder </li></a>
    <a href="artists.php"><li class="acartists">Artister</li></a>
    <a href="releases.php"><li class="acreleases">Udgivelser</li></a>
    <a href="live.php"><li class="aclive">Live</li></a>
    <a href="video.php"><li class="acvideo">Videoer </li></a>
    <a href="interaction.php"><li class="accomp">Konkurrencer</li></a>
    <a href="remix.php"><li class="acremix">Remix</li></a>
</ul>


</nav>

</nav>

脚本:

    $('html').click(function() {
   $('.accon').hide(); 
});

$('.acconicon').click(function(event){
     event.stopPropagation();
});

$('.acconicon').click(function(event){
     $('.accon').toggle();
});

【问题讨论】:

  • 我是新手,如何使用 onblur?

标签: javascript jquery html ios ipad


【解决方案1】:

我认为你只需要使用JQuery 的非选择器。我创建了一个您应该尝试的简单代码。

$('*:not(.acconh5,sbm3,sbm3 > a)').click(function() {
    $('.accon').hide(); 
});

【讨论】:

  • 感谢快速回答,但它没有用:-(!结果是在我使用你的代码之后你根本无法打开菜单..
  • 我的代码的选择器仅用于关闭菜单,当此功能运行时您显然无法打开它,您必须在非选择器上使用您用于打开菜单的元素该元素将关闭菜单。
  • 喜欢删除我自己的 jquery 代码吗?那么空的 onclick="" 呢?
  • 对不起,如果很难理解,我会尽力解释得更好。 JQuery 选择器中的* 用于选择所有元素,:not() 用于添加元素异常。在非选择器中,我只在菜单的元素上,这将导致如果您单击不会隐藏的任何菜单元素,但如果您单击 html 的任何其他元素,则菜单将隐藏。因此,如果菜单被该选择器隐藏,则永远不会显示,因为您必须在用于在非异常选择器中显示它的元素处显示它
  • 我不明白 :S 。我宁愿听我应该做什么,也不愿尝试理解它:)
猜你喜欢
  • 1970-01-01
  • 2019-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-23
  • 2020-12-03
相关资源
最近更新 更多