在给一个DOM元素同时设置mouseover与mouseout事件来控制另一元素显示与隐藏式时会出现闪烁问题。
这是由js事件的冒泡引起的,在网上找了很多解决方案,经测试很多都没有效果。
最终找到一个简单粗暴的解决方法:mouseover 事件不做改变(一般是控制目标元素的显示),但是不再设置mouseout 事件,而是给目标元素绑定一个mouseleave事件,$("目标元素id").bind("mouseleave", function() { $(this).hide(); });mouseleave 事件实在jQuery中定义,需要引入JQuery。
在很多文章中看到的解决方法是将 mouseover 改成 mouseenter,mouseout 改成mouseleave。
还有一些其他方案参考:http://blog.sina.com.cn/s/blog_6261f86901011mub.html(设置定时器等)