【问题标题】:JQueryUI- Can options take more than one parameter?JQueryUI-选项可以带多个参数吗?
【发布时间】:2010-08-03 19:53:25
【问题描述】:

我正在尝试让我的可拖动对象以及它们包含的 div 彼此对齐。这可能吗?这行得通:

$($element).draggable({         
            snap: true          
        })

但是这个(以及它的变体)不会:

$($element).draggable({
            snap: true, '#mainwindow'
        })

有人知道如何给选项提供多个参数吗?

【问题讨论】:

    标签: javascript jquery-ui


    【解决方案1】:

    来自 jQueryUI 网站,example with snap on draggable() 具有以下代码:

    <script type="text/javascript">
     $(function() {
      $("#draggable").draggable({ snap: true });
      $("#draggable2").draggable({ snap: '.ui-widget-header' });
      $("#draggable3").draggable({ snap: '.ui-widget-header', snapMode: 'outer' });
      $("#draggable4").draggable({ grid: [20,20] });
      $("#draggable5").draggable({ grid: [80, 80] });
     });
    </script>
    

    所以我认为snap: '#mainwindow' 可能会成功。另外,我还没有尝试过,所以我不确定它是否可能(其他人可以纠正我,因为我不熟悉 jQueryUI,虽然它看起来很棒)但是如果你创建一个回调函数来处理 snap 事件怎么办:

    $($element).draggable({
       snap: function(event, ui) {/* insert functionality */}
    });
    

    【讨论】:

    • 这不是我想要的,因为我必须自己对捕捉进行硬编码,但我认为它已经达到了最好的水平。谢谢,Hristo。
    • :D 我猜不客气。我想您可以查看捕捉的源代码以使其更容易(如果您实际上自己进行捕捉)。
    【解决方案2】:
    $($element).draggable({
                snap: true, '#mainwindow'
            })
    

    此示例不是合法的 JavaScript/JSON。你需要类似...

    {
      snap: [true, '#mainwindow']
    }
    

    我认为 draggable() 不会例外。

    我正在尝试让我的可拖动对象对齐 彼此以及他们的 包含 div。

    尝试给每个可拖动的和包含的 div 一个类似“snappable”的类并传递

    {
      snap: ".snappable"
    }
    

    【讨论】:

      猜你喜欢
      • 2016-03-25
      • 2011-07-20
      • 2021-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-11
      • 1970-01-01
      • 2021-02-28
      相关资源
      最近更新 更多