拖动时没有重影图像

No ghost image on drag?

本文关键字:重影 图像 拖动      更新时间:2023-09-26

我目前正在构建CMS。在这个CMS中有一个构建器页面,您可以在其中将元素拖放到画布中以创建网站。我使用jQuery中的插件(可拖动、可丢弃、可排序)来扩展功能并使所有交互成为可能。

今天,我的一位同事注意到拖动时的重影不再出现。我确实有一个系统的版本,它正在运行,但这个版本已经一个月了,在尝试了几个小时后,我似乎找不到是什么导致了这种情况。

请注意,一个月内发生了很多变化,我不知道是什么原因导致图像在拖动时显示?是CSS/JS/HTML吗?

侧边栏的一段HTML(+PHP):

<li class="nav-parent">
        <a>
            <i class="glyphicon glyphicon-home"></i>
            <span><?php echo 'basic_elements'; ?></span>
        </a>
        <ul class="children" style="display: none;">
            <li class="ab-nav-sub">
                <a class="left-panel-sub-container">
                    <i class="indicator fa fa-caret-right"></i>
                    <?php echo $aTranslator['elements']; ?>
                </a>
                <div class="_elements" style="display: none;">
                    <div id="ab-nav-el_5" class="ab-nav-element ui-draggable information-popover" data-original-title="element_image_text_basic" title="<?php echo 'element_image_text_basic'; ?>" data-content="<div class='sidebar-tooltip'><strong>Plaatje/Tekst</strong><br>Veld voor een plaatje met tekst.</div><img src='tm_textimage.png'>">
                        <img src="/tm_textimage.png" draggable="true" ondragstart="">
                        <h2><?php echo $aTranslator['element_image_text_basic']; ?></h2>
                    </div>
                    <div id="ab-nav-el_7" class="ab-nav-element ui-draggable information-popover" data-original-title="element_video_text_basic" title="<?php echo'element_video_text_basic'; ?>" data-content="<div class='sidebar-tooltip'><strong>Video/Tekst</strong><br>Veld voor een video met tekst.</div><img src='tm_textvideo.png'>">
                        <img src="/tm_textvideo.png" draggable="true" ondragstart="">
                        <h2><?php echo $aTranslator['element_video_text_basic']; ?></h2>
                    </div>

太多的文件中有太多的CSS,无法在此处发布。。。

可拖动JS:

 $('.ab-nav-element').draggable({
            appendTo: '.scroll-container',
            revert: 'invalid',
            cursor: "move", 
            distance: 50,
            revertDuration: 250,
            helper: 'clone',
            start: function(){
                $('.el-empty').addClass('el-receptive');
                elementName = $(this).data('original-title');
                elementTitle = $(this).attr('title');
                if($('.dashboard_container').children('.ab-builder-el.el-empty').length == 1){
                    $('.el-empty').addClass('huge');
                    $('.alert.alert-info').addClass('hidden');
                }
                //console.log(elementTitle);
            },
            stop: function(){
                $('.el-receptive').removeClass('el-receptive');
                elementName = null;
                $('.el-empty').removeClass('huge');
                $('.alert.alert-info').removeClass('hidden');
            }
        });

问题

有人能给我建议在哪里找零钱吗?我没有改变jQuery插件的工作方式,所以这不应该是问题的原因。

CSS中有什么样式属性可以尝试覆盖吗?

欢迎任何建议,我很乐意今天解决这个问题。。。

我尝试过的东西

  • 在jQuery可拖动选项中添加选项z-index
  • 添加CSS:指针事件:

    *{指针事件:自动!重要的-webkit用户拖动:自动!重要的}

这似乎是一个愚蠢的错误:

模板被更改,因此所需的类.scroll-container被删除。这是可拖动克隆附加到的类,因此没有任何附加内容。

在将类更改为可用元素(例如body)之后,克隆再次出现。

非常感谢评论员!!!