jQuery draggable在拖动时捕捉到中心

时间:2016-12-28 17:33:46

标签: jquery-ui draggable

我在页面中有可拖动的对象,并且它具有该区域的捕捉设置。

$('#obj')

现在,如果在".drag-bound"的边框附近拖动$('#obj'),则会在那里对齐。

问题是我希望".drag-bound"也会被drag对齐。

有什么好主意如何实现它?

我应该在 Set objinputs = aExplorer.document.getElementsByTagName("input") For Each ele In objinputs If ele.Name Like "estRange" Then cTestScrape4 = ele.Value End If Next Do While aExplorer.Busy Application.Wait DateAdd("s", 10, Now) Loop 事件处理程序中创建自定义代码吗?

里面有没有好的和简单的选择?

1 个答案:

答案 0 :(得分:0)

好吧,从我的调查到目前为止,似乎没有一个很好的选择来实现我的目的。

我在拖动事件处理程序中创建了自定义代码,如下所示:

       fn.branding.$resizable.draggable({

          snap: ".resize-bound",
          snapTolerance: 5,

          drag: function(event, ui) {

            var ui_w = ui.helper.width();
            var ui_h = ui.helper.height();
            var margin = $(this).draggable("option", "snapTolerance");

            /////////////////////////////////////////////////////////
            // do custom snapping here
            //
            if (!(Math.abs((ui.position.left + (ui_w)/2) - (fn.branding.modal_preview_width/2)) > 2 * margin)) {
              ui.position.left = Math.round((fn.branding.modal_preview_width - ui_w)/2);
            }

            if (!(Math.abs((ui.position.top + (ui_h)/2) - (fn.branding.modal_preview_height/2)) > 2 * margin)) {
              ui.position.top = Math.round((fn.branding.modal_preview_height - ui_h)/2);
            }

          });