【问题标题】:jQuery - Get mouse position while dragging linkjQuery - 拖动链接时获取鼠标位置
【发布时间】:2012-05-29 18:21:51
【问题描述】:

我正在尝试在单击并将a[href] 值拖动到书签栏(用于小书签)时跟踪鼠标位置。在我开始拖动几秒钟后,它似乎停止了跟踪。

代码如下。

var isDragging = false;
$('a#dragthis')
        .mousedown(function() {
            $(window).mousemove(function(e) {
                isDragging = true;
                var x = e.pageX;
                var y = e.pageY;
                console.log(x + "|" + y);
            });
        });

这是一个 jsFiddle 示例:http://jsfiddle.net/GZpHP/

【问题讨论】:

  • 你能在 jsfiddle.net 上设置一个工作示例吗?
  • 已添加!感谢您查看此内容。
  • 您能告诉我们为什么需要光标位置吗?顺便说一句,您的脚本将在您离开浏览器视口的那一刻停止工作。
  • 我想计算用户将链接拖到书签栏的剩余像素数。脚本在离开视口时停止很好。

标签: jquery drag-and-drop


【解决方案1】:

您需要在 mousedown 处理程序中添加 return false,以防止在拖动时选择文本的默认操作。

Updated fiddle

【讨论】:

  • 我希望在拖动时选择href...添加return false 似乎可以防止这种情况发生。
  • 什么意思?你叫什么“href”?当您拖动初始小提琴时,我没有看到任何选择。如果您正在寻找任何视觉反馈,您可以通过在开始拖动时在可拖动对象上添加一个类并在完成时将其移除来实现这一点。
  • return false 禁用将链接拖到书签栏中的功能。这是我的主要目标。
  • 似乎一旦默认拖动动作开始,浏览器就会停止触发 mousemove 事件。我不认为这是可以避免的,但让我们看看是否会有其他答案。
【解决方案2】:

我也想要同样的结果,最终使用ondragstartondrop 记录并在放置事件时处理鼠标位置。

它并不完美,但它可以完成工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-12
    • 2017-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-29
    相关资源
    最近更新 更多