--- title: GlobalEventHandlers.ondragend slug: Web/API/GlobalEventHandlers/ondragend tags: - API - HTML DOM - Reference - drag and drop translation_of: Web/API/GlobalEventHandlers/ondragend ---
{{event("dragend")}} イベント用の{{domxref("GlobalEventHandlers", "グローバルイベントハンドラ")}}。
var dragendHandler = targetElement.ondragend;
dragendHandlertargetElement の dragend イベントハンドラ。この例では、{{domxref("GlobalEventHandlers", "ondragend")}} 属性ハンドラを使用して、要素の {{event("dragend")}} イベントハンドラを設定する2つの方法を示しています。
<!DOCTYPE html>
<html lang=ja>
<title>グローバルイベント属性のドラッグ&ドロップの使用例</title>
<meta content="width=device-width">
<style>
div {
margin: 0em;
padding: 2em;
}
#source {
color: blue;
border: 1px solid black;
}
#target {
border: 1px solid black;
}
</style>
</head>
<script>
function dragstart_handler(ev) {
console.log("dragStart");
// ドラッグが開始されたことを示すために、ソース要素の背景色を変更します。
ev.currentTarget.style.border = "dashed";
ev.dataTransfer.setData("text", ev.target.id);
}
function dragover_handler(ev) {
console.log("dragOver");
// ドラッグオーバーイベントが発生したことを示すために、
// ターゲット要素のボーダーを変更します。
ev.currentTarget.style.background = "lightblue";
ev.preventDefault();
}
function drop_handler(ev) {
console.log("Drop");
ev.preventDefault();
var data = ev.dataTransfer.getData("text");
ev.target.appendChild(document.getElementById(data));
}
function dragenter_handler(ev) {
console.log("dragEnter");
// 入力イベントのソース要素の背景色を変更します
ev.currentTarget.style.background = "yellow";
}
function dragleave_handler(ev) {
console.log("dragLeave");
// ソース要素のボーダーを白に戻す
ev.currentTarget.style.background = "white";
}
function dragend_handler(ev) {
console.log("dragEnd");
// ターゲット要素の背景色を変更して、
// ドラッグが終了したことを視覚的に示すようにします。
var el=document.getElementById("target");
el.style.background = "pink";
}
function dragexit_handler(ev) {
console.log("dragExit");
// ソース要素の境界線を緑に戻し、dragexit イベントを示すように変更します。
ev.currentTarget.style.background = "green";
}
function init() {
// ソースの enter/leave/end/exit イベントのハンドラを設定します。
var el=document.getElementById("source");
el.ondragenter = dragenter_handler;
el.ondragleave = dragleave_handler;
el.ondragend = dragend_handler;
el.ondragexit = dragexit_handler;
}
</script>
<body onload="init();">
<h1><code>ondragenter</code>, <code>ondragleave</code>, <code>ondragend</code>, <code>ondragexit</code> の例</h1>
<div>
<p id="source" ondragstart="dragstart_handler(event);" draggable="true">
この要素を選択し、ドロップゾーンにドラッグしてから選択を解除して要素を移動します。</p>
</div>
<div id="target" ondrop="drop_handler(event);" ondragover="dragover_handler(event);">ドロップゾーン</div>
</body>
</html>
| 仕様書 | ステータス | コメント |
|---|---|---|
| {{SpecName("HTML WHATWG", "indices.html#ix-handler-ondragend", "ondragend")}} | {{Spec2("HTML WHATWG")}} | |
| {{SpecName("HTML5.1", "index.html#ix-handler-ondragend", "ondragend")}} | {{Spec2("HTML5.1")}} | 初期定義 |
{{Compat("api.GlobalEventHandlers.ondragend")}}