一、onDragEnd
當拖拽操作結束時觸發onDragEnd事件。這個事件通常用於清除拖動元素的狀態和樣式。以下是一個實例代碼:
function handleDragEnd(e) {
this.style.opacity = '1.0';
}
該函數的作用是當拖拽元素結束時將透明度設為1.0。
二、ondragstart
當拖拽操作開始時觸發ondragstart事件。這個事件通常用於設置被拖動元素的數據類型以及拖動效果(如幻影效果)。以下是一個實例代碼:
function handleDragStart(e) {
this.style.opacity = '0.4';
e.dataTransfer.setData('text/plain', '這是一段被拖動的文本');
}
該函數的作用是當拖拽元素開始時將透明度設為0.4,並設置被拖動的元素數據類型為純文本。
三、onDrag事件
onDrag事件在拖動操作期間每隔一段時間觸發一次。可以在該事件中實現拖動過程中的動態效果。以下是一個實例代碼:
function handleDragging(e) {
// 在這裡實現拖動過程中的動態效果
}
該函數的作用是在拖拽過程中實現動態效果。
四、onDrag事件拖拽幻影
當拖拽元素時,會在鼠標下方生成一個拖拽幻影。可以通過設置onDrag事件中的元素樣式來控制幻影效果。以下是一個實例代碼:
function handleDragging(e) {
// 在這裡實現拖動過程中的動態效果
this.style.boxShadow = '10px 10px 5px grey';
}
該函數的作用是在拖拽過程中為元素添加陰影效果。
五、onDragEvent
onDragEvent包含了所有拖動事件的信息,包括被拖動元素、鼠標位置等。以下是一個實例代碼:
function handleDragging(e) {
console.log(e.dragEvent); // 打印出拖動事件的信息
}
該函數的作用是在拖拽過程中打印出拖動事件的信息。
六、onDragOver = function ()
onDragOver事件會在拖拽元素經過一個可接受的放置目標(如另一個元素)時觸發。這時候需要調用preventDefault()方法來阻止默認的拖拽操作。以下是一個實例代碼:
function handleDragOver(e) {
e.preventDefault();
}
該函數的作用是在拖拽過程中阻止默認的拖拽操作。
七、ondragstart return false
可以在ondragstart事件中返回false來阻止默認的拖拽操作。以下是一個實例代碼:
function handleDragStart(e) {
return false;
}
該函數的作用是在拖拽開始時阻止默認的拖拽操作。
八、完整代碼示例:
<!DOCTYPE html>
<html>
<head>
<title>ondrag事件示例</title>
<style>
#dragme {
width: 100px;
height: 100px;
background-color: red;
opacity: 1.0;
}
</style>
</head>
<body>
<div id="dragme" draggable="true"></div>
<script>
var dragme = document.getElementById('dragme');
dragme.addEventListener('dragstart', handleDragStart);
dragme.addEventListener('drag', handleDragging);
dragme.addEventListener('dragend', handleDragEnd);
function handleDragStart(e) {
this.style.opacity = '0.4';
e.dataTransfer.setData('text/plain', '這是一段被拖動的文本');
return false;
}
function handleDragging(e) {
this.style.boxShadow = '10px 10px 5px grey';
}
function handleDragEnd(e) {
this.style.opacity = '1.0';
}
</script>
</body>
</html>
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/250728.html
微信掃一掃
支付寶掃一掃