首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在动态创建的div上拖放

在动态创建的div上拖放
EN

Stack Overflow用户
提问于 2012-05-11 18:31:56
回答 1查看 3.3K关注 0票数 1

我有一个拖放代码,在服务器端创建的div上工作得很好,但是当我使用jquery (动态)创建div时,我似乎不能将任何东西放到容器中……

代码语言:javascript
运行
复制
$('.dropcontent').droppable({
            accept: '.item',
            drop: function(ev, ui) {
               /* do something */
            }    
        });

        $(".item").draggable({  
           helper:'clone',
           appendTo: 'body',
           snap: true,
           revert: true

        });

    <div id="row1seo" class="dropcontent" > </div>   // original code on server side
    <div id="row1seo" class="dropcontent ui-droppable"> </div> // the above line becomes this on client side showing it has "binded" with the droppable
    <div id="row2seo" class="dropcontent"></div> // this the dynamically created div which doesn't seem to bind with the droppable. this is created in php file using ajax to retrieve it 

我也试过

代码语言:javascript
运行
复制
 $(".dropcontent").live('droppable', function() {
......
});

似乎不工作..。有什么办法解决这个问题吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-11 18:36:09

你必须激活拖动函数,这样它才能在生成的元素上工作。太糟糕了,jQuery的live()函数不能处理拖放,所以你必须自己创建一个。例如,我使用此函数:

代码语言:javascript
运行
复制
(function ($) {
    $.fn.liveDraggable = function (opts) {
        this.live("mouseover", function() {
            if (!$(this).data("init")) {
                $(this).data("init", true).draggable(opts);
            }
        });
        return $();
    };
}(jQuery));

这样叫它:

代码语言:javascript
运行
复制
$( "element" ).liveDraggable()

你也可以很容易的为droppable做一个!GL!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10549716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档