【问题标题】:Jquery dynamically created droppable elements don't WorkJquery 动态创建的可放置元素不起作用
【发布时间】:2012-10-08 15:12:44
【问题描述】:

好吧,大家好,我开发了一个页面来创建拖放表单,但是我在放置内部元素时遇到了问题,例如:

<div class="container">
   <div classs="row"> <! - I drop here -!> </ div>
   <- Content is dropped here! : '(-!>
</ div>

这是我的 Javascript:

        $(document).ready(function(){

                $( "#a .row-element" ).draggable({ 
                    revert: "invalid",
                });

                $(  "#a .span2-element" ).draggable({ 
                    revert: "invalid",
                });

                $(".row").droppable({
                    accept: '.span2-element',
                    activeClass: "ui-state-hover",
                    hoverClass: "ui-state-active",
                    greedy: true,
                    drop: function(event, ui) {
                        $('<div class="span2"></div>"').appendTo(this);
                    },
                    activate: function(event, ui) {
                        $(ui.helper).draggable({ revert: "valid"});
                    }
                });

                $(".container").droppable({
                    accept: '.row-element , .span2-element',
                    activeClass: "ui-state-hover",
                    hoverClass: "ui-state-active",
                    greedy: true,
                    drop: function(event, ui) {
                        $('<div class="row"></div>"').appendTo(this);
                    },
                    activate: function(event, ui) {
                        $(ui.helper).draggable({ revert: "valid"});
                    }
                });
        });

在我看来,新创建的元素不是 dropavel ...:/

有什么建议吗?!先感谢您!

【问题讨论】:

    标签: jquery html jquery-ui droppable jquery-ui-droppable


    【解决方案1】:

    首先,确保你的 HTML 代码是:

    <div class="container">
       <div class="row"></div>
    </div>
    

    那么,你为什么有:

    $('<div class="span2"></div>"').appendTo(this);
    

    你应该有:

     $('<div class="span2"></div>').appendTo(this);
    

    【讨论】:

    • 我的错! : 嗯,还是不行,好像忽略了"$(".row").droppable()"。当我在 html 元素中创建 appentTo 时,我需要再次使用 dropplable 吗?
    • 我做了一个改变:
      # c{宽度:1px;高度:1px; } $('#c .row').clone().appendTo(this);现在,我的 div 有 ui-droppable 类,但不工作! ://
    • 能否请您发布您的开发网址以便我查看?
    • 我可以删除元素。我在 FF 上,我没有问题!你能清除浏览器缓存吗?
    • 我也是! :D 谢谢兄弟!但下降只适用于行......跨度不起作用。我尝试让行在行中工作,但不再工作......我尝试在 firefox、Chrome、Opera e IE9 中......有什么建议吗? ^^
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    相关资源
    最近更新 更多