关于拖放事件代码的几个问题
在看拖放事件时看到了这个例子,然后有两个问题想向大家咨询,第一个是 event.target.id,因为网上看到setData()第二个参数表示添加到拖动对象的数据,但我感觉要添加进去的不是应该是"拖动我!"这几个字符吗,为什么这里是 event.target.id,这个应该如何理解呢,然后第二个问题是function drop(event)中的event.preventDefault(),其目的应该是表示任务结束吧,试着把它删除后发现并不影响拖动结果,这是什么原因呢


<style>
.droptarget {
float: left;
width: 100px;
height: 35px;
margin: 15px;
padding: 10px;
border: 1px solid #aaaaaa;
}
</style>
<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>


<style>
.droptarget {
float: left;
width: 100px;
height: 35px;
margin: 15px;
padding: 10px;
border: 1px solid #aaaaaa;
}
</style>
<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>
...全文
相关推荐
javascript 拖放效果实现代码.docx
javascript 拖放效果实现代码.docx
javascript实现拖放效果
主要介绍了javascript实现拖放效果的相关资料,需要的朋友可以参考下
asp.net+jquery Gridview的多行拖放, 以及跨控件拖放
学习JQuery时,发现JQuery只能做单行拖放, 于是花时间做了一个多行拖放的例子, 以备以后使用。
易语言调用api实现文件拖放获取路径的代码
今天小编就为大家分享一篇关于易语言调用api实现文件拖放获取路径的代码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
添加对移动设备上标准HTML5拖放操作的支持
Polyfill在移动(触摸)设备上启用HTML5拖放支持。


