获取鼠标在拖放 jquery 上的位置

Posted

技术标签:

【中文标题】获取鼠标在拖放 jquery 上的位置【英文标题】:get position of mouse on drop jquery 【发布时间】:2013-05-12 19:01:37 【问题描述】:

使用 jQuery UI 进行一些拖放。我必须判断项目是否被放到了 div 之外,所以我需要停止鼠标的位置,但它并没有按照我希望的方式工作。

这是我目前所拥有的:

function getMouseXY() 
    var tempX, tempY;
    document.onmouseup = getMouseXY;
    function getMouseXY(e) 
        tempX = e.pageX
        tempY = e.pageY
        console.log("last xy: " + [tempX, tempY]);
        return [tempY, tempX];
     


var currentMousePosition = [];

$(".mcCirc").each(function(index)
    $(this).draggable(
        revert: "invalid",
        stop: function( event, ui) 
            currentMousePosition = getMouseXY();

        
    );
);

【问题讨论】:

【参考方案1】:

当您在放置操作发生之前应该完成放置时,您正在附加该事件。

如果您包含更多示例代码会更好:-)

我还是举了一个例子: Example

document.onmouseup = getMouseXY; // Attached too late.

var posX = 0;
var posY = 0;

// This is better
$(document).mousemove(function(e)
    $('#status').html(e.pageX +', '+ e.pageY);
    posX = e.pageX;
    posY = e.pageY;
); 

【讨论】:

啊,笨蛋。我认为它会在我放下它时触发,但我猜这个方法也会在 mouseup 上被调用?这是有道理的。

以上是关于获取鼠标在拖放 jquery 上的位置的主要内容,如果未能解决你的问题,请参考以下文章

如何使可拖动元素在拖放时保持在新位置(HTML5 不是 jQuery)?

在拖放期间在 NSTableView 中打开一个间隙

在拖放作业框时,如何根据jquery中作业框中的数据列值自动调整或覆盖时间表块?

我们如何获得相对于窗口形式的位置?

jquery html在拖放时复制

EaselJS 拖放:获取抓取位置