我有一个简单的切换,在点击时关闭菜单并在另一次点击时隐藏它。 (每个用户都有多个菜单,因此这段代码完美运行......它根据用户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();
});
(例如,如果有人点击另一个“编辑”按钮或页面上的任何位置,则另一个)...但现在切换不起作用(它只是,如果你点击任何“编辑”按钮,它将会显示菜单,但如果再次单击相同的“编辑”按钮关闭它,它将不会关闭。
我的代码出了什么问题?还是我忘了什么?
答案 0 :(得分:1)
试试这个:
$(document).on('click', function(event) {
if (!$(event.target).hasClass('abutton')) {
$('.amenuc').hide();
}
});