我有以下代码:
area = document.createElement('div');
drag = document.createElement('div');
body.appendChild(area);
area.appendChild(drag);
area.onmouseover = function () {
console.log('entered');
}
area.onmouseout = function () {
console.log('leaved');
}
问题是,当鼠标越过孩子拖动时,它计为进入和离开!
答案 0 :(得分:1)
使用onmouseenter
和onmouseleave
代替,不受冒泡影响。
jQuery有两个版本的跨浏览器版本,名为mousenter()
和mouseleave()
。另外,您可以参考this获取另一个不依赖外部库的跨浏览器实现。