プラグインなしで jQuery を使用して外側をクリックしたときにメニューを閉じる方法について、stackoverflow でいくつかの質問を読んでいます。
使用しようとしましたが、機能しevent.stopPropagation()
ていません。次のコードでそれを使用する方法を教えてください。また、なぜあなたのコードで機能するのか説明していただけますか?
これは私のウェブページの元のコードです。同じ機能を実行し、外側をクリックすると閉じます(完全なコードはこちら):
$('.open-popup-on-click').unbind('click').click(function() {
$('#' + $(this).data('popup-id')).toggleClass('hidden');
return false;
});
HTML コード (最初の div はユーザーがクリックする単なるリンクであり、ユーザーがクリックすると、2 番目の 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
ポップアップを開きたい場所から、すべてのリンクで使用されるクラスです。この場合、ポップアップは ID を持つ 2 番目の div です。topbar-user-actions
それでもわからない場合は、次の画像を見てください。
http://i281.photobucket.com/albums/kk205/LEANDRO351/Gamersmafia/exampleMenu.png
前もって感謝します。