【问题标题】:Jquery toggle stopped workingJquery切换停止工作
【发布时间】:2014-03-28 08:05:21
【问题描述】:

我有一个简单的切换开关,点击时会显示一个菜单并在另一次点击时将其隐藏。 (每个用户都有多个菜单,所以这段代码可以完美运行......它会根据用户 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();
});

(例如,如果有人单击另一个“编辑”按钮或页面上的任何位置,则另一个)...但是现在切换不起作用(它所做的只是,如果您单击任何“编辑”按钮,它将显示菜单,但如果再次单击相同的“编辑”按钮将其关闭,它将不会关闭)。

我的代码有什么问题?还是我忘记了什么?

【问题讨论】:

    标签: jquery toggle


    【解决方案1】:

    试试这个:

    $(document).on('click', function(event) {
         if (!$(event.target).hasClass('abutton')) {  
               $('.amenuc').hide(); 
         }
    });
    

    【讨论】:

    • 感谢您的快速回复!像魅力一样工作,谢谢!它说我必须等待才能使这个成为公认的答案
    猜你喜欢
    • 2018-01-14
    • 2015-03-15
    • 2014-05-08
    • 1970-01-01
    • 1970-01-01
    • 2019-04-29
    • 2019-03-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多