ondrop事件到底怎么才能调用啊,即使写document.ondrop=function(evt){alert("123");}也不会被调用,问题出现在哪里呢

49Pence 2015-04-13 10:41:38


今天发现,ondrop事件无法调用,不知道什么原因。 desk.ondrop=function(evt){根本不会被调用,求助!!!!!

<div id="desk">
<h2 style="text-align: center;">收藏夹</h2>
</div>
<img id="gb" src="image/垃圾桶.jpg" style="float: left;" height="100px" width="100px">
<script type="text/javascript">
function moveToDesk(evt){
// alert("123");

evt.dataTransfer.setData("text/plain","item"+evt.target.innerHTML);

}
var desk = document.getElementById("desk");
// alert("123");

desk.ondrop=function(evt){
alert("123");

var text= evt.dataTransfer.getData("text/plain");
alert("123");
if(text.indexOf("item")==0){
var newEle = document.createElement("div");
newEle.id=new Date().getUTCMilliseconds();
newEle.innerHTML=text.substring(4);
newEle.draggable="true";
newEle.ondragstart=function(evt){
evt.dataTransfer.setData("text/plain","remove"+evt.target.id);
}
desk.appendChild(newEle);
}

}
...全文
348 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
业余草 2015-04-14
  • 打赏
  • 举报
回复
<!DOCTYPE HTML>
<html>
<head>
<style>
.droptarget {
    float: left; 
    width: 100px; 
    height: 35px;
    margin: 15px;
    padding: 10px;
    border: 1px solid #aaaaaa;
}
</style>
</head>
<body>

<p>在两个矩形框中来回拖动 p 元素:</p>

<div class="droptarget" ondrop="drop(event)" ondragover="allowDrop(event)">
  <p ondragstart="dragStart(event)" draggable="true" id="dragtarget">拖动我!</p>
</div>

<div class="droptarget" ondrop="drop(event)" ondragover="allowDrop(event)"></div>

<p style="clear:both;"><strong>注意:</strong>Internet Explorer 8 及更早 IE 版本或 Safari 5.1 及更早版本的浏览器不支持 drag 事件。</p>
<p id="demo"></p>

<script>
function dragStart(event) {
    event.dataTransfer.setData("Text", event.target.id);
    document.getElementById("demo").innerHTML = "开始拖动 p 元素";
}

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

function drop(event) {
    event.preventDefault();
    var data = event.dataTransfer.getData("Text");
    event.target.appendChild(document.getElementById(data));
    document.getElementById("demo").innerHTML = " p 元素已被拖动";
}
</script>

</body>
</html>
			
w3c的例子
49Pence 2015-04-13
  • 打赏
  • 举报
回复
ondrop事件到底怎么才能调用啊,即使写document.ondrop=function(evt){alert("123");}也不会被调用,问题出现在哪里呢

39,087

社区成员

发帖
与我相关
我的任务
社区描述
HTML5是构建Web内容的一种语言描述方式。HTML5是互联网的下一代标准,是构建以及呈现互联网内容的一种语言方式.被认为是互联网的核心技术之一。
社区管理员
  • HTML5社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧