JQuery拖放停止在某些对象上工作?

时间:2009-05-23 15:46:47

标签: javascript jquery drag-and-drop postback

通过使用Jquery这个位,我已经成功地使元素(如div,panel,等等)可拖动:

<script type="text/javascript">
      $(function() {
          $(".drag").draggable({ revert: true });
      });
</script>

这适用于在page_load完成之前和发生任何回发之前页面上已存在的任何内容。我有一系列按钮(带有一个'.catbuttons'类),点击后会调出我的数据库并检索一些图像网址。一旦我检索到这组url,我就会进行for / next循环并创建一大堆图像对象并将它们放入一个面板中。每个图像都有'.drag'的cssclass,以使其与上面的JQuery一起使用。

问题是,他们不再拖累!我在这里读到了另一篇关于需要在回发后重新绑定javascript内容的帖子(甚至是部分回发?),这将允许全新的控件将上面的Jquery代码附加到它们上,从而使它们可以拖动。经过一些谷歌搜索,我遇到了这个并测试了它:

<script type="text/javascript">
        $(".catbuttons").live("click", function(){
            $(".drag").draggable({ revert: true });
        });
 </script>

我尝试将其保留在我的aspx页面的标题部分中,并使用原始脚本,并且还将此处全部放在此处。无论如何都没有骰子。

思想?

1 个答案:

答案 0 :(得分:0)

上述功能实际上希望用户点击,再次调用draggable。相反,您需要在回发后执行此操作。 此处的规则应该是,在将图像放在页面上后,注册所有具有可拖动功能的图像。

修改 在您的情况下,单击按钮只会触发获取图像的功能。在将它们设置为可拖动之前,应将这些图像放在页面上。您可以在放置的语句后立即使用draggables注册创建的对象。在运行时将“.drag”cssclass应用于这些对象/图像。