我无法弄清楚拖放,看了很多教程和问题,但是当我放下笑脸时,没有任何反应。我认为它会起作用,因为它适用于ondragstart。
HTML:
<div id='dragging'></div>
<img draggable ='true' src ="http://img87.imageshack.us/img87/5673/rotatetrans.png" id="smiley"/>
的javascript:
var smiley = document.getElementById('smiley');
var dragging = document.getElementById('dragging');
smiley.ondragstart = function(){
dragging.innerHTML = 'You are dragging!';
};
smiley.ondrop = function(){
dragging.innerHTML=' ';
};
我也试过这个: 的javascript:
smiley.addEventListenter('ondrop',dragging.innerHTML=' ');
答案 0 :(得分:3)
你已经阅读了教程,但似乎没有正确的教程。
为了触发drop
事件,您首先必须取消dragover
和dragenter
事件。没什么意义,但那可以起作用:
document.ondragover = function(e) {
e.preventDefault();
};
document.ondragenter = function(e) {
e.preventDefault();
};
就像Patrick Evans在评论中注意到的那样,你必须在一个放置区域设置drop
事件监听器,而不是在被拖动的元素本身上设置。可能也是document
:
document.ondrop = function(e) {
dragging.innerHTML = ' ';
};
这是关于所有这些废话的article by Peter Paul Koch(警告:提前说)。
答案 1 :(得分:0)
试试这个
dragging.addEventListenter('drop', function() {
dragging.innerHTML=' Dropped '
}, false);
而不是
smiley.addEventListenter('ondrop',dragging.innerHTML=' ');
addEventListener
的第二个参数是一个函数。第三个参数决定是否在冒泡期间捕获事件
并且,假设在显示图像的同一div上发生了放置操作
答案 2 :(得分:0)
#mickjguy