在 JavaScript 中,处理鼠标移动事件时,有四个相关的事件类型可以分为两组:
特点:
element.addEventListener('mouseover', function() {
console.log('鼠标进入元素或其子元素');
});
element.addEventListener('mouseout', function() {
console.log('鼠标离开元素或其子元素');
});
特点:
element.addEventListener('mouseenter', function() {
console.log('鼠标进入元素边界');
});
element.addEventListener('mouseleave', function() {
console.log('鼠标离开元素边界');
});
| 特性 | mouseover/mouseout | mouseenter/mouseleave |
|---|---|---|
| 冒泡 | 是 | 否 |
| 子元素敏感 | 是 | 否 |
| 触发频率 | 高(子元素间移动也触发) | 低(只在边界变化时触发) |
由于 mouseover/mouseout 会在子元素间移动时频繁触发,可能对性能有更大影响,特别是在复杂 DOM 结构中。
热门推荐:
0