我有一个无序的列表,鼠标悬停和鼠标事件附加到li元素。每个都包含一个链接,并且在li中有一些填充。当我鼠标悬停li时,鼠标悬停事件被触发,但是当我鼠标悬停在li中的链接mouSEOut和mouSEOver事件都被按顺序触发。看起来孩子元素正在触发他们的父元素鼠标事件…我该如何去阻止这个?我想让它在鼠标悬停在链接上时保持鼠标移动,而不是每次鼠标悬停在链接上时激活动画。这是我的代码
jQuery(document).ready(function(){ jQuery('#menu li ul').hide(); jQuery('#menu li').mouSEOver( function() { jQuery(this).children("ul").show('fast').stop; return false; }); jQuery('#menu li').mouSEOut( function() { jQuery(this).children("ul").hide('fast').stop; return false; }); }); <ul id="menu"> <li><a href="">Some link</a> <ul>Sub content</ul> </li> </ul>
解决方法
看来我已经找到了我自己的问题的答案。对于任何可能有同样问题的人;试试这个代码。似乎hover不会像其他鼠标事件一样冒泡成孩子元素。
jQuery('#menu li').hover( function() { jQuery(this).children('ul').show('fast'); return false; },function() { jQuery(this).children('ul').hide('fast'); return false; } );