由于种种原因,我无法在项目的这一部分中使用jQuery。所以我需要在 Vanilla js中检测到这一点。我试过了,但是没有用:
http://jsfiddle.net/qHfJD/
var myDiv = document.getElementById('foo');
myDiv.onmouseenter = function() {
alert('entered');
}
myDiv.onmouseleave = function() {
alert('left');
}
最佳答案
mouseenter
和mouseleave
是专有的MS事件(实际上非常好)。如果myDiv
没有子代,则使用mouseover
/mouseout
将具有完全相同的效果。
http://jsfiddle.net/qHfJD/1/
注意:这个原始的问题和答案非常古老,并且是从IE之外不完全支持mouseenter
和mouseleave
的时候开始的。现在所有现代浏览器都已经在元素上支持这些事件。通常,它们比mouseover
/mouseout
更受青睐,因为ojit_code除了元素本身之外,还将使用事件监听器为元素的每个子元素触发。
关于javascript - 如何在纯JavaScript中检测mousein和mouseleave?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15280531/