0

我发现了很多关于这个的例子,但是对于我需要的东西来说都太复杂了。

这是我的代码:

$(function() {
  jQuery(".drag").click(function () { $(this).appendTo(".inner")});
  jQuery(".drag").draggable({ grid: [ 10, 10 ] }, { containment: ".inner" } );
});

我只想在将相同的元素附加到我希望的容器后才拖动它。

请注意,拖动元素位于我希望它们拖动的容器之外。这就是我使用 appendTo 的原因。

HTML:

...
    <div class="inner"></div>
    ...

    <div class="objects">
    <div class="drag"><img src="img1.jpg" title="name1" /></div>
    <div class="drag"><img src="img2.jpg" title="name2" /></div>
    <div class="drag"><img src="img3.jpg" title="name3" /></div>
    </div>
...
4

1 回答 1

1

不确定您要做什么,但 jQuery UI 事件start可能会帮助您:

$(function() {
  jQuery(".drag").draggable({
      grid: [ 10, 10 ],
      containment: ".inner",
      start: function() { $("#result").html("Drag start!"); }
  } );
});​

HTML:

<div class="inner">
    Inner div

<div class="drag">
</div>
</div>
<p id="result"></div>

CSS:

div { border:1px solid black; padding:5px; }
.inner { width: 200px; height:200px; }
.drag { width:50px; height: 50px; background-color:#fca;}​

​</p>

看到这个 jsFiddle

于 2012-03-04T15:04:38.840 回答