我一直在 stackoverflow 阅读一些问题,关于如何在没有插件的情况下使用 jQuery 在外部单击时关闭菜单。
我尝试使用event.stopPropagation()
但无法正常工作。你能告诉我如何在下一个代码中使用它,并解释为什么在你的代码中工作吗?
这是我网页中的原始代码,我希望它执行相同的功能,并在外部单击时将其关闭(此处为完整代码):
$('.open-popup-on-click').unbind('click').click(function() {
$('#' + $(this).data('popup-id')).toggleClass('hidden');
return false;
});
HTML 代码(第一个 div 只是用户点击的链接,当他们点击时,第二个 div 作为弹出窗口打开):
<div class="topbar-block topbar-profile-options">
<a class="open-popup-on-click"
data-popup-id="topbar-user-actions"
href="/cuenta"><%=avatar_img(@user, :very_small)%></a>
</div>
<div id="topbar-user-actions" class="hidden popup">
<div style="float: left"><a href="/miembros/<%=@user.login%>"><%=avatar_img(@user, :normal)%></a></div>
<ul style="display: inline-block">
<li><a href="/cuenta">mi cuenta</a></li>
<li><a href="/cuenta/clanes">mis clanes</a></li>
<li><a href="/cuenta/competiciones">mis competiciones</a></li>
<li style="padding-top: 20px; padding-bottom: 20px;"><a href="/miembros/<%=@user.login%>">mi perfil público</a></li>
<li><a class="confirm-click nav" href="/cuenta/logout">cerrar sesión</a></li>
</ul>
</div>
open-popup-on-click
是一个与所有链接一起使用的类,我想从那里打开一个弹出窗口。在这种情况下,弹出窗口是第二个 div,带有 IDtopbar-user-actions
如果你还是不明白,请看这张图:
http://i281.photobucket.com/albums/kk205/LEANDRO351/Gamersmafia/exampleMenu.png
提前致谢。