2

クリックするとメニューが表示され、別のクリックで非表示になる単純なトグルがあります。(ユーザーごとに複数のメニューがあるため、このコードは完全に機能します...ユーザーIDに基づいて正しいメニューを見つけます....

$('.abutton').live('click',function(){
    var id = $(this).attr('id');

    $('#amenu'+id).toggle();
    return false;

});

これはhtmlです

<a class="abutton" id="17">Edit</a>
<ul id="amenu17" class="amenuc">
<li><a href="#" id="17"> Delete</a></li></ul>

ユーザーがメニューを閉じるのを忘れた場合、誰かがページ上の要素をクリックすると開いているドロップダウンを閉じるこのコードを追加しました

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

(たとえば、誰かが別の「編集」ボタンまたはページ上の任意の場所をクリックした場合)...しかし、現在、トグルは機能していません(「編集」ボタンをクリックすると、メニューが表示されるだけです)ただし、同じ「編集」ボタンをもう一度クリックして閉じると、閉じません)。

コードの何が問題になっていますか? または私は何かを忘れていますか?

4

1 に答える 1

1

これを試して:

$(document).on('click', function(event) {
     if (!$(event.target).hasClass('abutton')) {  
           $('.amenuc').hide(); 
     }
});
于 2012-09-17T07:04:33.680 に答える