请问一个mouseenter的问题

来源:5-2 编程练习

精慕门1145146

2020-07-18 19:33:55

<!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>
    //此处写代码
    $('div').mouseenter(function(event){
        $(this).text('pageX:'+event.pageX+',pageY:'+event.pageY)
    })
    </script>
</body>

为什么用mouseenter会一卡一卡的,而用mousemove就很流畅?jquery不是一般要用mouseenter吗

写回答

1回答

好帮手慕慕子

2020-07-19

同学你好,对于你问题解答如下:

  1. 要分清楚mouseenter和mousemove事件的区别,如下:

    (1)mouseenter事件表示鼠标移入元素时触发。

    (2)mousemove事件表示鼠标在元素上移动是触发。

    了解这两个事件的区别之后,再来分析同学说的使用mouseenter会一卡一卡的问题。

    那是因为只有鼠标移入元素时触发这个事件,鼠标在元素上移动时,并不会触发mouseenter事件,所以只有鼠标移入元素,离开元素,再次进入元素时,才会改变div中的内容,导致同学看起来是一卡一卡的。

    使用mousemove事件,鼠标在元素上移动时,就会触发该事件,改变div中的内容。导致同学感觉使用该事件事件流畅的

  2. 不是说jQuery中一般要用mouseenter,而是要根据你要实现的功能选择使用哪一个事件。

    例如:你想要在鼠标移入元素时,实现某个功能,那就使用mouseenter事件,如果你想要鼠标在元素上移动时,实现某个功能,那就使用mousemove事件。

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

0

0 学习 · 14456 问题

查看课程