【问题标题】:Can I "trick" jQuery Draggable regarding mouse cursor movement?我可以“欺骗”关于鼠标光标移动的 jQuery Draggable 吗?
【发布时间】:2016-08-02 05:58:29
【问题描述】:

使用 jQuery Draggable 使 Bootstrap 模态可拖动,将水平移动实际光标移动距离的一半(垂直移动很好)。这是一个错误或功能,存在使其遵循 1:1 的各种解决方案,但会导致其他问题。

我得到的一个想法是“欺骗”jQuery Draggable,以便 jQuery 感知的水平光标移动是实际光标的 2 倍。有没有办法做到这一点?像这样的:

$('#myModal').draggable({
  drag: function( event, ui ) {
  // something here to do it?
  }
});

【问题讨论】:

  • 你能在jsfiddle.net上做一个演示吗?我们很容易理解您的问题

标签: javascript jquery css twitter-bootstrap jquery-ui


【解决方案1】:

在拖动事件中,您可以将 ui.position.left 与 2 相乘,保持 ui.position.top 不变。 这应该工作

 $("#myModal").draggable({
    drag: function(event, ui) {

        // change this multiplier to go faster
        // you may have to do some flooring if you use
        // non integer values
        var mult = 2;

        var $dragme = $(event.target);

        ui.position.top = ui.position.top;
        ui.position.left = ui.position.left*mult;

        $dragme.css({
            top: ui.position.top,
            left: ui.position.left
        });
    }
});

这是工作的demo

【讨论】:

  • 非常感谢!这正是我想要的,并且比我见过的任何其他解决方案都要好。
  • 不幸的是,经过进一步测试,我注意到它不能完全工作。我自己想弄清楚,但如果你知道的话,非常欢迎你回答。现在,无论您是单击它还是单击页面上的任何其他位置,都可以拖动模态框,并且单击它时有时甚至会跳转到另一个位置(我还没有弄清楚它是什么时候这样做的)。
猜你喜欢
  • 1970-01-01
  • 2010-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-27
  • 1970-01-01
  • 2023-03-19
相关资源
最近更新 更多