老师!关于mousemove和mouseenter
来源:5-2 编程练习
沉木岩
2020-08-25 07:41:20
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>习题</title>
<style>
div {
width: 300px;
height: 300px;
border: 1px solid red;
text-align: center;
line-height: 300px;
}
</style>
</head>
<body>
<div></div>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
<script>
//此处写代码
$(document).ready(function(){
$("div").mouseenter(function(event){
$("div").text("pageX:"+event.pageX+"pageY:"+event.pageY);
});
});
</script>
</body>
</html>
----------------------------------------------------------------------------------------------------------------
关于mousemove和mouseenter的区别,这里面使用mouseenter感觉就不对劲,只有在鼠标每次进入的时候才会触发而更新pageX和pageY。
它俩的区别不是在于冒泡机制吗,mousemove 绑定的对象如果有子元素子元素也会一并触发,但是绑定同样的对象mouseenter不会触发子元素,但是这里面的div并不存在子元素,为什么它俩效果会不一样
1回答
同学你好,这个与冒泡无关。要重新理解一下事件的功能是什么?具体参考如下:
mousemove表示鼠标移动事件,即在某一个元素移动的时候,就会触发。
mouseenter表示鼠标移入事件,即鼠标从元素外部移入到元素里面的那一刻,就会触发。
它们的区别就是,一个是鼠标移动时一直触发,一个是鼠标移入元素的时候触发。所以本题代码中,是在元素中一直移动,要选择mousemove事件才可以的。
如果我的回答帮到了你,欢迎采纳,祝学习愉快~
相似问题
回答 1
回答 1