Javascript OnMouseOver/OnMouseOut组合不可靠-什么';究竟是什么原因导致了这一问题,如何最好地解决这一问题?

Javascript OnMouseOver/OnMouseOut组合不可靠-什么';究竟是什么原因导致了这一问题,如何最好地解决这一问题?,javascript,onmouseover,onmouseout,Javascript,Onmouseover,Onmouseout,我正在尝试构建一个简单的原型,在这个原型中,我想捕获用户是否正在桌面上进入或离开网站。通过两条带和一个onmouseover/onmouseout,我想了解这是一个入站还是出站案例。因此,预期结果是获得以下序列: 出站顺序:MouseIn:lowerStrip-MouseOut:lowerStrip-MouseIn:upperStrip-MouseOut:upperStrip 入站序列:MouseIn:upperStrip-MouseOut:upperStrip-MouseIn:lowerSt

我正在尝试构建一个简单的原型,在这个原型中,我想捕获用户是否正在桌面上进入或离开网站。通过两条带和一个onmouseover/onmouseout,我想了解这是一个入站还是出站案例。因此,预期结果是获得以下序列:

  • 出站顺序:
    MouseIn:lowerStrip-MouseOut:lowerStrip-MouseIn:upperStrip-MouseOut:upperStrip

  • 入站序列:
    MouseIn:upperStrip-MouseOut:upperStrip-MouseIn:lowerStrip-MouseOut:lowerStrip

不幸的是,我的原型产生的序列并不总是相同的——有时4行打印到控制台,有时只有2行,有时甚至没有一行。似乎其他人也在同一个问题上苦苦挣扎,无论是在不同的语言和不同的背景下:

尽管从这些解决方案中收集到了一些见解,但我无法弄清楚如何使我的解决方案更加自动化,特别是因为我无法理解问题的实际根源。有些人说速度是个问题,但即使滚动速度很慢,问题也会出现

因此,我想了解到底是什么导致了这种行为,最好的解决方案是什么,例如,这是JS中的一个问题,可以用JS解决吗?这是JS中的一个问题,应该用CSS解决吗?这是另一个问题吗

我在下面附上了我的例子。我们的想法是将鼠标悬停在两条带上,要么从底部,要么从顶部。这将触发前面提到的序列

谢谢你的意见


模板
函数init(){
document.getElementById('upperStrip').setAttribute('style','position:absolute;margin:0!重要;top:0px;width:'+window.innerWidth+'px;border:5px solid#ff0000');
document.getElementById('lowerStrip').setAttribute('style','position:绝对;边距:0!重要;顶部:10px;宽度:'+window.innerWidth+'px;边框:5px实心#000000');
}
函数onMouseIn(x){
console.log(“MouseIn:,x.id”);
}
函数onMouseOut(x){
console.log(“MouseOut:,x.id”);
}



如果您想知道用户是否关注了网站之外的其他内容,您应该在窗口中使用onblur事件element@SaymoinSam不是我想要的,请仔细阅读我的问题……你试过在身体标签上涂上鼠蛋白/鼠膏吗?