javascript - 通过单击按钮在元素内添加 div

标签 javascript jquery

我在表格内有一个可拖动的 div(使用 jqueryui 插件)。我可以拖动单个 div 并将其包含在 <td id=” middle-side”></td> 内。现在,我在尝试创建额外的 div 时遇到问题,这些 div 也可以拖动并包含在 <td id=” middle-side”></td> 中。 。我用来附加这个新 div 的按钮对点击没有反应。我如何才能将新的 Dragagble div 添加到 <td id=” middle-side”></td>JSFIDDLE

HTML

<td class="middle-side">
                Keep me inside here!
                    <div class="draggable" class="ui-widget-content">
                        <p><b>Drag me around</b></p>
                    </div>

            </td>

Jquery

//To Drag
$(function() {
     $( ".draggable" ).draggable({ containment: "parent" });
});


//To Add New Div
var i = 0;
var remove = true; // added this 
$('#button').click(function(e) {
    $('<div/>').attr({
        'id' : i
    }).addClass('draggale').css({
        'top' : e.pageY - 20,
        'left' : e.pageX - 20
    }).appendTo('.middle-side');
    i++;
});

$('.middle-side').on('click','.draggable',function (){ // corrected spelling
    if(remove){
        $(this).remove();
    } else {
        //just to see if it was clicked
        $(this).css({'background-color': 'red'});
    }
});

最佳答案

您可以将 div 作为模板存储在 .click 函数中:

$('#button').click(function(e) {
    $('<div class="draggable" class="ui-widget-content"><p><b>Drag me around</b></p></div>').draggable({ containment: "parent" }).appendTo('.middle-side');
});

更新的 fiddle :http://jsfiddle.net/0wbnud4k/3/

关于javascript - 通过单击按钮在元素内添加 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25533213/

相关文章:

javascript - JS 多重数据绑定(bind)覆盖

javascript - 当在 jquery.menu-aim 中打开父菜单时,强制子菜单可见

javascript - 如何在 jquery 中创建可点击列表,其中列表中的每个项目都是它自己的链接,而不使用 HTML 仅使用 jquery/ajax/json

当占位符存在时,jQuery UI 可排序长 div 奇怪

javascript - Angular 1/JavaScript 删除属性对象,就好像它从未存在过一样

javascript - 使用 $filter 根据数组中对象的属性进行过滤

javascript - 带有拖动放大镜的 HTML5 页面,但在移动设备上不起作用

javascript - JQ 动画完成后切换类

JavaScript 在 Chrome 和 Safari 中在后台而不是前台打开窗口

javascript - 脚本代码与宽度缩小的图像冲突