日期:2014-05-16  浏览次数:20395 次

一个jquery的奇怪问题
HTML code

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js" type="text/javascript"></script><script type="text/javascript">
$(function(){
    //用mouseout 实现不了 ?????????
    $("#test").mouseout(function(){
        $("#test11").css("background-color","yellow");
    });

    $("#test12").mouseover(function(){
        $("#test11").css("background-color","blue");
    });
})

</script>
</head>
<body>
<div style="width:300px; overflow:hidden; position:relative" id="test">
    <div id="test11" style="width:200px; height:100px; overflow:hidden; float:left; background:yellow">A区</div>
    <div id="test12" style="width:100px; height:100px; overflow:hidden; float:right; background:orange;">B区</div>
</div>
</body>
</html>




实现效果:鼠标经过B区改变A区背景色,鼠标离开总容器#test后,改变A区背景色。

问题:鼠标从B区移动到A区时,居然会执行总容器#test的 mouseout 时间????

如果容器的mouseout换成hover却能实现:

//用hover才能实现
$("#test").hover(function(){ },function(){$("#test11").css("background-color","yellow");});


这是啥问题,求解。。。。

------解决方案--------------------
阻止下冒泡试试
------解决方案--------------------
$("#test").mouseleave(function(){...


什么原因 楼主 可参考
http://topic.csdn.net/u/20120531/16/5ba61551-ac30-4d0a-8bad-c0316fb20b1a.html