1

我有一个 100 x 100 像素的右上角和左下角图形,我用它来覆盖图像。这些代表裁剪标记。我有一个绑定到每个的拖动事件,可以让我拖动这些裁剪标记,然后调整图像大小。这一切都有效,但无论我点击角落图像的哪个位置,鼠标都会跳到图形左上角的左侧。由于图形是 100 x 100 像素,我可能点击了右下角。我希望鼠标(或手指)停留在最初单击(或触摸)的同一位置,而不是跳到左上角。查看事件返回的各种偏移量(或 this.offsetLeft、this.offsetTop)似乎都没有给我从指针结束位置到它开始位置的 x、y 偏移量。

有没有办法确定起点并保持拖动的接触点?

这是我的右上角/裁剪的拖动处理程序:

function ur_crop()
{
    $('#ur_corner').bind('drag', function (event) {
    event.preventDefault();
    curX = event.pageX; 
    curY = event.pageY; 
    offsetX = curX - ur_curX;
    offsetY = curY - ur_curY;
    var $this = $(this);
    $(this).css({
        left: curX + 'px', 
        top: curY + 'px' 
    });

    ur_curX = curX; // + offsetX;
    ur_curY = curY; // + offsetY;

});         

}

谢谢!

4

1 回答 1

0

在选择角拖动以获取鼠标位置后,将 jQuery 的 mousemove 事件绑定在那里。

查看 jQuery 的 mousemove 文档

于 2012-05-09T23:13:13.660 回答