在看拖放事件時看到了這個例子,然后有兩個問題想向大家咨詢,第一個是 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>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/268926.html
標籤:JavaScript
下一篇:微信小程式開發者工具安裝失敗
