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

求助!如何实现JS判断鼠标在特定DIV之内移动之后执行某个函数
求助各位大侠,由于某些傻×浏览器的原因,不得不实现一个功能,就是:
请问如何实现用JS判断鼠标在一个特定的DIV之内移动之后执行某一个函数,比如
window.onload = setStyle; //正常情况下执行这个代码
在鼠标移动到ID为box的这个DIV之后,停止或移除setStyle这个函数,执行exp()这个函数;谢谢各位大虾,拜谢

------解决方案--------------------
先触发事件A,执行函数1;再触发事件B,清除函数1,执行函数2。
多数情况下函数1直接就完成了!没有完成的情况是:
1.函数1处于忙碌状态——比如从1循环到1亿,那么事件B根本不会发生,因为浏览器死在那里了;
2.函数1与计时器相关,比如持续进行的DOM尺寸修改的操作,这时在函数2里清除计时ID就行了,如果有必要还需要还原默认状态。

------解决方案--------------------
window.onload = setTimeout("setStyle",1000);
function divover()
{
clearTimeout("setStyle");
}
假设被移入的DIV的ID是a
<div id="a" mouseover="divover()"></div>
------解决方案--------------------
直接给事件赋值为undefind就可以移除事件函数了
<script>
window.onload = setStyle;
function amouseover()
{
window.onload='undefind';
}
</script>

<div id="a" mouseover="amouseover()"></div>