我有下面的代码,使切换垂直下拉。当我在'ul> li> a'中做了多次mouseenter并且在选择de子菜单并且进入它之后,第二个触发器多次触发时,问题就会发生。jquery:为什么如果我在其他内部有一个jQuery触发器,第二次发生多次触发?
$('nav > ul > li > a').on('mouseenter',function(e){
var currentID = this;
var index = $('ul.topnav > li > a').index(this);
$(this).addClass('selected');
$('nav ul ul').css('margin-top',(38*parseInt(index)));
$(this).parent().find('ul').on('mouseenter',function(e){
//fire several times
console.log('hover');
$(currentID).addClass('selected');
}).on('mouseleave',function(e){
$(currentID).removeClass('selected');
//fire several times
console.log('end hover');
});
}).on('mouseleave',function(e){
$(this).removeClass('selected');
);
因为它被重新绑定每一个顶一个被执行的时间,从而导致'在UL N'的mouseenter事件其中'N'是你已经触发的次数顶级赛事。 –