onmousemove、onmouseenter、onmouseover 使用不生效问题,只作用于内部文字

本文探讨了在使用onmousemove、onmouseenter、onmouseover等鼠标事件时遇到的问题,即这些事件仅在鼠标位于特定文本上时才触发。文章提供了修改建议,如调整内部标签结构,并推荐使用document.getElementById(id)替代document.querySelector来选取元素。

onmousemove、onmouseenter、onmouseover 使用不生效问题

当我们在项目中使用鼠标事件

js
document.querySelector("#father").addEventListener('mousemove',(event) => { 
console.log(1)
})
css
.father {
 width: 300px;
 height: 100px
 border: 1px solid red;
}
html
                <div id="father">
                    <span >
                    这是一段测试代码1
                    </span>
                     <span >
                    这是一段测试代码1
                    </span>
                </div>

问题

当我们对上面div 设置onmousemove、onmouseenter、onmouseover事件处理时候,只有当鼠标在文字上才有生效。

解决方法

onmousemove事件在鼠标移动到 div 元素上时触发。
mouseenter 事件中有在鼠标指针进入 div 元素时触发。
onmouseover 事件在鼠标指针进入 div 元素时触发,在子元素上也会触发(p 和 span)
需要把div内当 标签改成

就可以了

建议

获取html元素是,不建议使用document.querySelector而是使用document. getElementById(id)、getElementsByTagName

getElementById中id 不需要#
getElementsByTagName也返回一个数组

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知知洋洋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值