onmousemove事件和关闭javascript

时间:2018-04-15 21:17:13

标签: javascript events

我不知道如何解释,所以我将首先展示我的代码。 所以我有类似的东西:

//array of all div's positions 
var zone = [];

//add a div's position in the array
function myFunction1(){
  var pos = getPos(div);
  zone[zone.length] = pos;
}

//when the mouse isn't in the zone of a div, delete all zones
function myEventFunction(e){
  var posMouse = xx; //define the pos of the mouse
  for(i=0: i<zone.length; i++){
    if(posMouse !== zone[i]){
      zone = [];
    }
  }
}

当然,它只是我代码的简化版本。

功能有效,但存在&#34;计时&#34;的问题。 当我的鼠标离开区域时,它立即进入另一个启动&#34; myFunction1&#34;的div。 功能&#34; myEventFunction&#34;没有时间删除zone []中的所有数据,因为区域[]中有新数据,所以&#34; if(posMouse!== zone [i])&#34;是假而不是真实。

我想我需要使用封闭,但我不知道如何做到这一点。 我不确定我的问题是否可以理解,但有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

我想你可能想要查看onmouseleave事件而不是onmousemove,当你在div之间进行时只会触发一次。