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

Js事件问题?
<html>
<head> <title> Test </title>
<script   type= "text/javascript ">
function   newdiv()
{
var   e=document.getElementById( 'test ');
e.innerHTML= ' ';
var   d=document.createElement( 'div ');
d.style.background= 'blue ';
d.style.width= '100px ';
d.style.height= '100px ';
d.onmouseover=EventTest;     //注册事件处理程序
var   d2=document.createElement( 'div ');
d2.style.background= 'green ';
d2.style.width= '50px ';
d2.style.height= '50px ';
d2.style.margin= '25px   25px ';
d.appendChild(d2);
e.appendChild(d);
}
function   EventTest()
{
alert( 'OK ');
}
</script>
</head>
<body   onload= "newdiv(); ">
<div   id= "test "> </div>
</body>
</html>
================================================================
当鼠标进入蓝方块,出 'OK '提示,正常
当鼠标在进入绿方块,出 "OK "提示,怎么才能不提示
当鼠标从绿方块进入蓝方块,又出现 "OK "提示,这个提示也想去掉

目的:只有鼠标进入蓝方块,才出现提示,在蓝方块里面怎么移动都不要出现提示,怎么解决,望高手指教一下。。。

------解决方案--------------------
鼠标在某区域里面的元素间划到也会触发 onmouseover 事件的,你可以在 onmouseover 事件里加上一个 setTimeout ,当鼠标是真正地从别的元素划到这块区域里,触发函数运行,若只是元素块内部的事件触发,则不运行函数。
------解决方案--------------------
onmouseenter