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 回答