0

我有以下代码:

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

4

1 回答 1

1

使用onmouseenterandonmouseleave代替,它不会受到气泡效应的影响。

jQuery 具有两者的跨浏览器版本,称为mousenter()mouseleave()。否则,您可以参考这个以获取另一个不依赖外部库的跨浏览器实现。

于 2012-08-20T23:01:58.977 回答