ÔÚWeb¿ª·¢ÖУ¬ÎÒÃÇҪʵÏÖÍÏ·ÅЧ¹û£¬ÐèÒª½èÖúJavascript¡£½ñÌìÈÃÎÒÃÇʹÓÃHtml5ʵÏÖËü£º
ÏÈ¿´htmlºËÐÄ´úÂë:
<div>
<p>°Ñ»ÆɫС·½¿éÍÏÈëµ½ºìÉ«´ó·½¿òÖÐ</p>
</div>
<div id="item" draggable="true">
</div>
<div id="drop">
</div>
draggableÊôÐÔÊÇhtml5ÐÂÔö¼ÓµÄ£¬ËüÓÐÈý¸öÖµtrue,false,auto. trueÊÇ¿ÉÒÔÍÏ£¬falseÊDz»¿ÉÒÔ£¬autoÓÉÓû§ä¯ÀÀÆ÷ÊÇ·ñÖ§³Ö¶ø¶¨¡£¸ü¶àÇë¿ÉÒԲο¼¹Ù·½Îĵµ.
¼ÓÉÏÒ»µã¶ùÑùʽ:
<style type="text/css">
#drop
{
width: 300px;
height: 200px;
background-color: #ff0000;
padding: 5px;
border: 2px solid #000000;
}
#item
{
width: 100px;
height: 100px;
background-color: #ffff00;
padding: 5px;
margin: 20px;
border: 1px dashed #000000;
}
*[draggable=true] {
-moz-user-select:none;
-khtml-user-drag: element;
cursor: move;
}
*:-khtml-drag {
background-color: rgba(238,238,238, 0.5);
}
</style>
È»ºóÎÒÃÇÀ´¿´javascript:
1: function listenEvent(eventTarget, eventType, eventHandler) {
2:
if (eventTarget.addEventListener) {
3:
eventTarget.addEventListener(eventType, eventHandler,false);
4:
} else if (eventTarget.attachEvent) {
5:
eventType = "on" + eventType;
6:
eventTarget.attachEvent(eventType, eventHandler);
7: } else {
8:
eventTarget["on" + eventType] = eventHandler;
9: }
10: }
11:
12: // cancel event
13: function cancelEvent (event) {
14:
if (event.preventDefault) {
15:
event.preventDefault();
16:
} else {
17:
event.returnValue = false;
18:
}
19: }
20:
21: // cancel propagation
22: function cancelPropagation (event) {
23:
if (event.stopPropagation) {
24:
event.stopPropagation();
25:
} else {
26:
event.cancelBubble = true;
27:
}
28: }
29:
30: window.onload=function() {
31:
var target = document.getElementById("drop");
32:
listenEvent(target,"dragenter",cancelEvent);
33:
listenEvent(target,"dragover", dragOver);
34:
listenEvent(target,"drop",function (evt) {
35:
cancelPropagation(evt);
36:
evt = evt || window.event;
37:
evt.dataTransfer.dropEffect = 'copy';
38:
var id = evt.dataTransfer.getData("Text");
39:
target.appendChild(document.getElementById(id));
40:
});
41:
42:
var item = document.getElementById("item");
43:
item.setAttribute("draggable", "true");
44:
listenEvent(item,"dragstart", function(evt) {
45:
evt = evt || window.event;
46:
evt.dataTransfer.effectAllowed = 'copy';
47:
evt.dataTransfer.setData("Text",item.id);
48:
});
49:
50: };
51:
52: function dragOver(evt) {
53: if (evt.preventDefault) evt.preventDefault();
54: evt = evt || window.event;
55: evt.dataTransfer.dropEffect = 'copy';
56: return false;
57: }
ÆÀÂÛ |
¡¡