Javascript 当鼠标距离元素x时,Jquery如何启动函数?

Javascript 当鼠标距离元素x时,Jquery如何启动函数?,javascript,jquery,mouseevent,mousemove,Javascript,Jquery,Mouseevent,Mousemove,我想有一个功能运行时,鼠标是X距离远离一个元素 我假设mousemove事件应该被移动,但是由于元素可能并不总是在同一个位置,我不确定如何获得相对于元素的鼠标位置 有人有类似的例子吗?您需要绑定到mousemove事件,将元素角点的坐标存储在全局变量中,并在鼠标移动的每个像素处不断检查,直到当前鼠标位置和对象坐标之间的向量长度为X。此时将触发自定义事件,并将某些函数绑定到该事件 我不知道有一个插件已经做到了这一点,所以一定要在这里发布你写的插件的链接。:) 使用敏感边界矩形还是拐角处的敏感半径?

我想有一个功能运行时,鼠标是X距离远离一个元素

我假设mousemove事件应该被移动,但是由于元素可能并不总是在同一个位置,我不确定如何获得相对于元素的鼠标位置


有人有类似的例子吗?

您需要绑定到
mousemove
事件,将元素角点的坐标存储在全局变量中,并在鼠标移动的每个像素处不断检查,直到当前鼠标位置和对象坐标之间的向量长度为X。此时将触发自定义事件,并将某些函数绑定到该事件


我不知道有一个插件已经做到了这一点,所以一定要在这里发布你写的插件的链接。:)

使用敏感边界矩形还是拐角处的敏感半径?@codelio我相信拐角处的敏感半径,但我不能100%确定我是否理解其区别。这取决于您希望如何使用触发函数,以及如何比较鼠标位置。这是从元素内部的某个点或从边缘或。。。?似乎如果我检查距离>100,我可以从底部离开元素,但如果我尝试从顶部离开,我根本无法在元素激发之前退出元素。
var mX, mY, distance;
$element  = $('#YourElementID');

    function calculateDistance(elem, mouseX, mouseY) {
        return Math.floor(Math.sqrt(Math.pow(mouseX - (elem.offset().left+(elem.width()/2)), 2) + Math.pow(mouseY - (elem.offset().top+(elem.height()/2)), 2)));
    }

    $(document).mousemove(function(e) {  
        mX = e.pageX;
        mY = e.pageY;
        distance = calculateDistance($element, mX, mY);
        // do your stuff with distance

    });