javascript - 如何修复: Dragged element not shown

标签 javascript jquery jquery-ui

我是 Jquery 新手,我的代码遇到一些问题。我的程序下面有一个容器和一个小菜单。我有一些 img 元素类片段,我可以将它们拖到容器中并移动。我想在我拖动的片段项目中放置一些其他 img 元素类帽,但是当我将帽放在片段上时,它没有显示。当我看到控制台日志时,我可以看到该元素有一个子元素,但我看不到它。你认为我的问题是什么?

var x = null;
$( function () {
    $(".piece").draggable({
        cancel: "a.ui-icon", 
        revert: "invalid", 
        helper: 'clone',
        containment: '#container',
    });
    $(".piece").droppable({
       accept: ".cap",
       drop: function( event, ui ) {
         x= ui.helper.clone();
         x.appendTo(this);
         }
    });
    $(".cap").draggable({
        cancel: "a.ui-icon",
        helper: 'clone',
        containment: '#container',   
    });
    $("#container").droppable(
        {
       accept : ".piece",
       drop : function(event, ui)
        {
        x = ui.helper.clone();
        x.css("width", 200);
        x.css("height", 200);                
        x.draggable({
            containment: '#container',
            cursor: 'move',
        });
        x.appendTo(this);
        x.droppable({
            accept: ".cap",
            drop: function( event, ui ) {
                x= ui.helper.clone();
                x.css("width", 200);
                x.css("height", 200);
                alert(' was dropped onto me!' ); 
                x.appendTo(this);
                console.log("this");
                console.log(this);
            }
        });
        ui.helper.remove();      
        }  
    });

});

我希望输出是零件上的盖子,但盖子没有显示在零件上。您可以在以下位置看到 fiddle :https://jsfiddle.net/littletrives/6ktub3a9/

最佳答案

您的代码正在放置 cap里面piece正如您所注意到的,正确无误。

问题是 <img>元素不能包含元素(来源: img specificationcontent model nothing specification )。因为你的cap <img>位于 piece 的内部<img> ,则不显示。

解决方案可能是添加 <div>src piece的作为background-image而不是将其添加为 <img>标签。这样,您可以添加 cap <img>里面。

我用一个小例子对你的 jsfiddle 进行了 fork : https://jsfiddle.net/tp7e2no1/1/

关于javascript - 如何修复: Dragged element not shown,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57906055/

相关文章:

javascript - Twitter Bootstrap : adding a class to the open accordion title

javascript - 当我运行 npm start 时,我在 ubuntu 16.04 中收到 npm 错误

javascript - 如何访问 javascript 类中新添加的函数

javascript - 在 HTML 文档中查找单击的类之后的类

javascript - 空气日期选择器 js : hour+2

javascript - 有没有办法简化这个 css?

javascript - 如何在检测到 CSS 显示 block 时执行 JQuery 函数

javascript - 如何使用字符串数组作为 react 选择中的选项

javascript - 简单的 jQuery 就地 "balloon"字段通知

jquery-ui - jQuery AutoComplete 触发更改事件