我有下面的代碼,使切換垂直下拉。當我在'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'是你已經觸發的次數頂級賽事。 –