我有一个3级导航和event.preventDefaul();应该只影响导航的第一级但它会影响所有3个级别,我该如何改变呢?
var $topLevelItems = $("nav > ul > li");
$topLevelItems.click(function(event) {
event.preventDefault();
if (!$(this).hasClass('selected')) {
$topLevelItems.removeClass('selected')
.find('.level_2')
.slideUp('slow');
$(this).addClass('selected')
.find('.level_2').fadeIn('slow')
.slideDown('slow',function(){
$('#nav').animate({height:$topLevelItems.find('.level_2:visible').height()+55},200);
});
}
});
答案 0 :(得分:0)
当我尝试这个时,函数不会启动:
var $topLevelItems = $("nav > ul > li");
$topLevelItems.click(function(event) {
if (this !== event.target) {
return;
event.preventDefault();
}
if (!$(this).hasClass('selected')) {
$topLevelItems.removeClass('selected')
.find('.level_2')
.slideUp('slow');
$(this).addClass('selected')
.find('.level_2').fadeIn('slow')
.slideDown('slow',function(){
$('#nav').animate({height:$topLevelItems.find('.level_2:visible').height()+55},200);
});
}
});