由于种种原因,我无法在项目的这一部分中使用jQuery。所以我需要在 Vanilla js中检测到这一点。我试过了,但是没有用:

http://jsfiddle.net/qHfJD/

var myDiv = document.getElementById('foo');

myDiv.onmouseenter = function() {
    alert('entered');
}

myDiv.onmouseleave = function() {
    alert('left');
}

最佳答案

mouseentermouseleave是专有的MS事件(实际上非​​常好)。如果myDiv没有子代,则使用mouseover/mouseout将具有完全相同的效果。

http://jsfiddle.net/qHfJD/1/

注意:这个原始的问题和答案非常古老,并且是从IE之外不完全支持mouseentermouseleave的时候开始的。现在所有现代浏览器都已经在元素上支持这些事件。通常,它们比mouseover/mouseout更受青睐,因为ojit_code除了元素本身之外,还将使用事件监听器为元素的每个子元素触发。

关于javascript - 如何在纯JavaScript中检测mousein和mouseleave?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15280531/

10-13 00:38