[英]jQuery slideUp() effected for other list's slideDown()
我面临一个问题。 我有一些清单项目。 单击列表后,将打开其自己的子级,并添加一个'.open'
类。 单击该'.open'
类时,该列表的子级将被隐藏。 因此,我将代码编写如下:
$('body').on('click', '.list-group li a', function() {
// hide all other child
$('.list-group .child').hide();
$('.list-group li a').removeClass('open');
// Open this list's child
$(this).addClass('open');
$(this).parent().find('.child').slideDown();
});
$('body').on('click', '.list-group li a.open', function() {
// hide this list's child
$(this).removeClass('open');
$(this).parent().find('.child').slideUp();
});
但是,在隐藏$(this)
列表的子级时,它将首先尝试slideDown()
然后再slideUp()
! 我可以理解此代码可能对此负责:
// hide all other child
$('.list-group .child').hide();
$('.list-group li a').removeClass('open');
如何解决这个问题?
当.open
应用.open
时,您的click
监听器似乎都两次触发。 在.on('click', '.list-group li a')
函数中使用:not
选择器似乎可以解决此问题
$('body').on('click', '.list-group li a:not(.open)', function() {
// ....
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.