开发者问题收集

JavaScript 鼠标悬停

2012-08-20
168

我有以下代码:

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');
}

问题是,当鼠标移到子拖动上时,它会算作进入和离开!

预览: http://s12.postimage.org/xopqous19/preview.gif

1个回答

改用 onmouseenteronmouseleave ,它们不会受到 气泡 效应的影响。

jQuery 具有两者的 跨浏览器 版本,称为 mousenter() mouseleave() 。或者,您可以参考 了解另一种跨浏览器实现,它不依赖于外部库。

João Silva
2012-08-20