【问题标题】:jQuery draggable - snap to browser?jQuery可拖动 - 捕捉到浏览器?
【发布时间】:2013-02-08 10:47:13
【问题描述】:

我正在使用以下代码在我的网站上拖动一个 div:

    js13('#wrapper').live('mouseover', function () {
        js13(this).draggable();
    });

但我想以某种方式将其捕捉到浏览器,因此无法将其拖到浏览器窗口范围之外。

这有可能吗? ;)

【问题讨论】:

  • 不要使用live。它已被弃用。使用on
  • jqueryui not jquery see Containment +1 live 已弃用 jquery 1.9
  • 我们将不胜感激。

标签: jquery jquery-ui-draggable


【解决方案1】:

您可以使用包含属性(请参阅draggable-api

在你的情况下,你可以尝试:

js13('#wrapper').live('mouseover', function () {
    js13(this).draggable( "option", "containment", $(window));
});

不确定这是否是一个有效的解决方案,未经测试。

【讨论】:

    【解决方案2】:

    LIVE DEMO

    我不明白你为什么在'mouseover' 函数中使用draggable,以及不推荐使用的live 方法。无论如何:
    为此使用containment 属性:

    例如:如果#wrapper的父级是body,您可以简单地使用:

    $( "#wrapper" ).draggable({ containment: 'parent' });
    

    或者喜欢:

    $( "#wrapper" ).draggable({ containment: $('SomeparentElement') });
    

    【讨论】:

      猜你喜欢
      • 2012-04-02
      • 1970-01-01
      • 1970-01-01
      • 2010-11-20
      • 2012-07-21
      • 1970-01-01
      • 1970-01-01
      • 2014-01-08
      • 1970-01-01
      相关资源
      最近更新 更多