JSFiddle - React, Tailwind, and code Playground

HTML

<body>
    <div id="container">
        <div id="field"></div>
    </div> <span id="mouseHover"></span>

</body>

CSS

* {
    box-sizing: border-box;
}
#container {
    position: relative;
    border: 1px solid black;
    width: 300px;
    height: 300px;
}
#field {
    position: absolute;
    left: 50px;
    top: 50px;
    border: 1px solid black;
    height: 200px;
    width: 200px;
    cursor: none;
}
#mouseHover {
    position: absolute;
    border: 1px solid black;
    width: 30px;
    height: 30px;
    display: none;
}

JavaScript

$("#field").on({
        mousemove: function (e) {
            var left = parseInt($("#container").css("left")) || 0;
            var top = parseInt($("#container").css("top")) || 0;
            var newX = e.pageX - left - parseInt($("#mouseHover").css("width")) / 2;
            var newY = e.pageY - top - parseInt($("#mouseHover").css("height")) / 2;
            $("#mouseHover").css({
                left: newX,
                top: newY
            });
            console.log("MMove");
        },
        mouseenter: function (e) {
            $("#mouseHover").show();
            console.log("MEnter");
        },
        mouseleave: function (e) {
            $("#mouseHover").hide();;
            console.log("MLeave");
        }
    });