javascript - Html5 拖放显示 id 的问题

标签 javascript jquery html drag-and-drop

我正在尝试显示使用 html5 拖放的控件的 id。我想弄清楚我哪里做错了?这是我的fiddle

我试图确保控件即使在拖放后仍位于同一位置。

<div id="div1" ondrop="drop(event, this)" ondragover="allowDrop(event)"></div>
<br/>
<img id="drag1" src="//placehold.it/336X69/ff0000" draggable="true" ondragstart="drag(event)" width="336" height="69" />
<div>
    <input type="text" id="textbox1" draggable="true">
</div>

JS代码

function allowDrop(ev) {
    ev.preventDefault();
}

function drag(ev) {
    ev.dataTransfer.setData('Text/html', ev.target.id);
}

function drop(ev, target) {
    alert(data)
    ev.preventDefault();
    console.log(target.id, ev.target.id)
    var data = ev.dataTransfer.getData("text/html");    
}

CSS代码

#div1 {
  width: 350px;
  height: 70px;
  padding: 10px;
  border: 1px solid #aaaaaa;
}

最佳答案

你的代码很好,问题是当你在 HTML 上设置事件时 jsFiddle 。

如果您在 javascript Pane 中设置它,它就可以工作(需要进行小的调整)。

检查这个 fiddle :http://jsfiddle.net/1227vf9t/14/

HTML:

<div id="div1"></div>
<br/>
<img id="drag1" src="//placehold.it/336X69/ff0000" draggable="true" width="336" height="69" />
<div>
    <input type="text" id="textbox1" draggable="true">
</div>

JavaScript:

   var div1 = document.getElementById("div1");
    var drag1 = document.getElementById("drag1");
    var textbox1 = document.getElementById("textbox1");

    div1.addEventListener("drop",drop,false);
    div1.addEventListener("dragover",allowDrop,false);

    drag1.addEventListener("dragstart",drag,false);

        function allowDrop(ev) {
            ev.preventDefault();
        }

        function drag(ev) {
            console.log("drag", ev);
            ev.dataTransfer.setData('text/html', ev.target.id);
        }

        function drop(ev) {
            console.log("drop",ev);
            ev.preventDefault();
            var data = ev.dataTransfer.getData("text/html");
            textbox1.value = data;
        }

关于javascript - Html5 拖放显示 id 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32618543/

相关文章:

javascript - Bootstrap 内联表单搜索栏宽度

javascript - 运行使用 json 的 ajax 函数后,浏览器保持加载(加载指示器保持旋转)

html - 我可以使用Brython获取网站的参数吗?

php - ajax请求中的ajax请求不返回SQL信息

javascript - 鼠标悬停和鼠标离开外部 div

javascript - Google 可视化图表 API 示例已损坏,如何修复?

javascript - 使用 Chrome 开发者选项卡进行实时 html 和 javascript 测试

javascript - 为什么 in_array() 总是返回 false(用户权限)?

javascript - 从 jQuery Ajax 方法返回值

jquery - 使用空白类来标识元素或其他标签