如何判断光标是否在元素的边界内

时间:2011-04-20 18:24:25

标签: javascript jquery

我正在创建一个拖放应用程序,而我想要做的是当用户拖动一个元素时,如果光标位于某个其他元素之上。

继续流程:

用户开始在页面周围拖动元素
当鼠标超过某些部分时,我想进行ajax调用。

因为我通过jquery知道元素及其边界,所以我只想要最好的方法来进行检查。

3 个答案:

答案 0 :(得分:1)

提到的片段

https://stackoverflow.com/users/650094/adam-terlson

来自

find elements that are stacked under (visually) an element in jquery

看起来像这样:

function mouseWithin(bounds,x,y) {
    var offset = bounds.offset();
    var l = offset.left;
    var t = offset.top;
    var h = bounds.height();
    var w = bounds.width();

    var maxx = l + w;
    var maxy = t + h;

    return (y <= maxy && y >= t) && (x <= maxx && x >= l);
};

你可以像这样使用它:

var gallery=$("#carousel-gallery");
mouseWithin(gallery,event.pageX,event.pageY);

答案 1 :(得分:0)

$( “#元件”)悬停();

Hover

答案 2 :(得分:0)

从这里开始:http://docs.jquery.com/Tutorials:Mouse_Position

获取鼠标坐标并将其与您要比较的项目的.offset()值进行比较。

http://api.jquery.com/offset/