【问题标题】:I want to drag and drop an image out of a "div" into antother div (dropzone) with HTML5我想使用 HTML5 将图像从“div”拖放到另一个 div(dropzone)中
【发布时间】:2013-02-21 14:15:51
【问题描述】:

就像我在标题中描述的那样,我想将图像拖出“列表”(实际上只是一个 div,我将图像加载到数据库之外)并希望将其放入“dropzone”中。

希望每个人都能理解我的英语。

我的问题是:我对 JavaScript 和 HTML5 完全陌生,我的应用程序只能部分工作。

我将图像拖放到 dropzone 中……到目前为止一切都很好……但是传输的图像已从我的列表中消失了 --> 我只想复制/克隆图像。

将图片放入dropzone后,我的函数只是将图片追加到dropzone中......我知道“appendChild”与它有关,但我不知道如何解决这个问题。

如果有人可以帮助我,那就太好了?!

JavaScript 代码:

//controls the beginning of an drag-event
function dragStart(ev)
{
    ev.dataTransfer.effectAllowed= "copyLink";
    ev.dataTransfer.setData("Text", ev.target.getAttribute("id"));
    return true;
}

//handles the dropzone
function dragEnter(ev)
{
 //avoids placing the element somewhere else (instead of in the dropzone)
    event.preventDefault();
    return true;
}

//handles dropping an element before the target area
function dragOver(ev)
{
    return false;
}

//handles the actual drop part (not working)
function dragDrop(ev)
{
    var eleid = ev.dataTransfer.getData("Text");
    ev.target.appendChild(document.getElementById(eleid));
    ev.preventDefault();
    ev.returnValue();
}

HTML:

-标签:

<img id="person_id_'. $metaData["meta_id"] . '" draggable="true" "ondragstart= "return dragStart(event)" src="'. $path .'"/>

拖放区:

<div id= "dropzone" ondragenter= "return dragEnter(event)" ondragover= "return dragOver(event)" ondrop= "return dragDrop(event)"></div>

【问题讨论】:

    标签: php html drag-and-drop


    【解决方案1】:

    这确实是 jQuery 的任务。纯 HTML5 除了表示 DOM 元素之外,实际上并不能做更多的事情。 JavaScript 至少是 DOM 语言的修饰符;最方便的一个:) jQuery 完成了您想要解决的大部分复杂任务(也在主流浏览器中),不用担心不使用它。

    查看这些文档:

    Dropables 可以接受来自其他 DIV 元素的可拖动对象,例如:http://api.jqueryui.com/droppable/#option

    幸运的是,互联网上几乎每个 jQuery 函数/子 API 都有数百个不同的示例。尝试谷歌一些例子,它非常容易学习。 在这种情况下,jQuery-UI 是主 jQuery 库的扩展,但它非常简单。只需添加 SCRIPT 标记,即可开始阅读!

    【讨论】:

    • 我遇到的问题是我不允许使用框架作为 jQuery ......那么有没有可能用纯 html5 和 javascript 代码来处理这个问题?
    • 这是学校作业还是您的工作限制使用它?您可以下载 jQuery en jQuery-UI 的开发人员版本,然后查看它们的源代码。它非常干净且有据可查。你可以在那里确切地看到 jQuery 的制造者是如何从纯 JavaScript 中做到的,最酷的是,他们非常关注跨浏览器的兼容性:)。顺便说一句;对于您想要实现的目标,本质上不需要“HTML5”。 HTML5 只是更精简的 XHTML 版本,它纠正了 HTML4 的大量问题。
    • jQuery 源代码是查找拖放答案的理想场所。你的提问没有误解。你是这个东西的新手,就像你自己说的那样,所以你怎么能确认我的建议不是正确的答案?祝你读那本书好运;)
    • 这听起来可能很刺耳,但你只是在这里偷懒。如果您不阅读和研究,您将永远无法在脚本/编程领域取得多大成就。
    • 好的伙计!问题是我在研究等方面付出了很多努力。但就像我说的我对 javascript 的新手,我想要的只是一个简单的提示,我必须改变什么,也许是原因......这有与懒惰或它所谓的无关......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-19
    • 1970-01-01
    • 2013-11-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多