YouTip LogoYouTip

Event Ondragenter

ondragenter Event Image 1: Event Object Reference Manual Event Object

Example

Execute JavaScript when the dragged element enters the drop target:

Try it Β»

More examples are available at the bottom of this page.


Definition and Usage

The ondragenter event is triggered when a dragged element or selected text enters a valid drop target.

The ondragenter and ondragleave events can help users understand better when a draggable element enters and leaves the drop area. You can set different background colors when a draggable element enters and leaves the drop area.

Drag and drop is a very common feature in HTML5. For more information, see our HTML tutorial on HTML5 Drag and Drop.

Note: To make an element draggable, you need to use the HTML5 draggable attribute.

Tip: Links and images are draggable by default, without the draggable attribute.

The following events are triggered during the drag and drop process:

  • Events triggered on the drag target (source element):
    • ondragstart - Triggered when the user starts dragging an element
    • ondrag - Triggered while the element is being dragged
    • ondragend - Triggered when the user has finished dragging the element
  • Events triggered when releasing the target:
    • ondragenter - Triggered when the object being dragged enters the container's range
    • ondragover - Triggered when an object being dragged is within another object's container range
    • ondragleave - Triggered when the object being dragged leaves the container's range
    • ondrop - Triggered when the mouse button is released during a drag operation

Browser Support

The numbers in the table specify the first browser version that supports the event.

Event
ondragenter 4.0 9.0 3.5 6.0 12.0

Syntax

In HTML:

<_element_ ondragenter="_myScript_">Try it

In JavaScript:

_object_.ondragenter = function(){_myScript_};Try it

In JavaScript, using the addEventListener() method:

_object_.addEventListener("dragenter", _myScript_);Try it

Note: Internet Explorer 8 and earlier versions of IE do not support the addEventListener() method.


Technical Details

Bubbles: Yes
Cancelable: Yes
Event type: DragEvent
Supported HTML tags: All HTML elements

Image 2: Examples

More Examples

Example

The following example demonstrates all drag and drop events:

/* Triggered during dragging */

document.addEventListener("dragstart", function(event) {

// The setData() method sets the data type and value of the dragged data

event.dataTransfer.setData("Text", event.target.id);

// Output some text when dragging a p element

document.getElementById("demo").innerHTML = "Start dragging the p element.";

// Change the opacity of the dragged element

event.target.style.opacity = "0.4";

});

// Change the color of the output text while dragging the p element

document.addEventListener("drag", function(event) {

document.getElementById("demo").style.color = "red";

});

// Output some text and reset the opacity after dragging the p element

document.addEventListener("dragend", function(event) {

document.getElementById("demo").innerHTML = "Finished dragging the p element";

event.target.style.opacity = "1";

});

/* Triggered after dragging is complete */

// Change the border style of the div when the p element is dragged into droptarget

document.addEventListener("dragenter", function(event) {

if ( event.target.className == "droptarget" ) {

event.target.style.border = "3px dotted red";

}

});

// By default, data/elements cannot be dropped in other elements. For drop, we must prevent the element's default handling

document.addEventListener("dragover", function(event) {

event.preventDefault();

});

// Reset the border style of the div when the draggable p element leaves the droptarget

document.addEventListener("dragleave", function(event) {

if ( event.target.className == "droptarget" ) {

event.target.style.border = "";

}

});

/* For drop, prevent the browser's default handling of data (links open by default in drop)

Reset the color of the output text and the border color of the DIV

Use the getData() method of dataTransfer to get the dropped data

The id of the dragged data element ("drag1")

Append the draggable element to the drop element */

document.addEventListener("drop", function(event) {

event.preventDefault();

if ( event.target.className == "droptarget" ) {

document.getElementById("demo").style.color = "";

event.target.style.border = "";

var data = event.dataTransfer.getData("Text");

event.target.appendChild(document.getElementById(data));

}

});
Try it Β»

Related Pages

HTML Tutorial: HTML5 Drag and Drop

HTML Reference Manual: HTML draggable Attribute

Image 3: Event Object Reference Manual Event Object
← Event OndragleaveEvent Ondragend β†’