我正在创建一个拖放应用程序,我的想法是当用户拖动元素时,获取光标是否悬停在某些其他元素上。
流程如下: 用户开始在页面上拖动元素 当鼠标移动到特定部分时,我想发出ajax调用。
因为我可以通过jquery知道元素及其边界,所以我只希望找到最好的方法来进行检查。
流程如下: 用户开始在页面上拖动元素 当鼠标移动到特定部分时,我想发出ajax调用。
因为我可以通过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);
$("#element").hover();
从这里开始:http://docs.jquery.com/Tutorials:Mouse_Position
获取鼠标坐标并将其与要比较的项目的.offset()
值进行比较。