如何在 iPad 上的 jquery 外部单击关闭菜单
Posted
技术标签:
【中文标题】如何在 iPad 上的 jquery 外部单击关闭菜单【英文标题】:how to close the menu with a Click outside in jquery on iPad 【发布时间】: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? 【参考方案1】:我认为你只需要使用JQuery
的非选择器。我创建了一个您应该尝试的简单代码。
$('*:not(.acconh5,sbm3,sbm3 > a)').click(function()
$('.accon').hide();
);
【讨论】:
感谢快速回答,但它没有用:-(!结果是在我使用你的代码之后你根本无法打开菜单.. 我的代码的选择器仅用于关闭菜单,当此功能运行时您显然无法打开它,您必须在非选择器上使用您用于打开菜单的元素该元素将关闭菜单。 喜欢删除我自己的 jquery 代码吗?那么空的 onclick="" 呢? 对不起,如果很难理解,我会尽力解释得更好。 JQuery 选择器中的*
用于选择所有元素,:not()
用于添加元素异常。在非选择器中,我只在菜单的元素上,这将导致如果您单击不会隐藏的任何菜单元素,但如果您单击 html 的任何其他元素,则菜单将隐藏。因此,如果菜单被该选择器隐藏,则永远不会显示,因为您必须在用于在非异常选择器中显示它的元素处显示它
我不明白 :S 。我宁愿听我应该做什么,也不愿尝试理解它:)以上是关于如何在 iPad 上的 jquery 外部单击关闭菜单的主要内容,如果未能解决你的问题,请参考以下文章
jQuery superfish 菜单/悬停在 iPad、iPhone 等