HTML5 ÍÏ·Å

Çë°Ñ W3School ͼƬÍϵ½¾ØÐÎÖС£

ÍÏ·Å

ÍÏ·Å£¨Drag ºÍ Drop£©ÊǺܳ£¼ûµÄÌØÐÔ¡£ËüÖ¸µÄÊÇÄúץȡijÎï²¢ÍÏÈ벻ͬµÄλÖá£

ÍÏ·ÅÊÇ HTML5 ±ê×¼µÄ×é³É²¿·Ö£ºÈκÎÔªËØ¶¼ÊÇ¿ÉÍϷŵġ£

ä¯ÀÀÆ÷Ö§³Ö

±í¸ñÖеÄÊý×ÖָʾÁËÍêȫ֧³ÖÍϷŵÄÊ׸öä¯ÀÀÆ÷°æ±¾¡£

API
ÍÏ·Å 4.0 9.0 3.5 6.0 12.0

HTML ÍÏ·ÅʵÀý

ÏÂÁÐÊǹØÓÚÍϷŵļòµ¥Àý×Ó£º

ʵÀý

<!DOCTYPE HTML>
<html>
<head>
<script>
function allowDrop(ev) {
    ev.preventDefault();
}

function drag(ev) {
    ev.dataTransfer.setData("text", ev.target.id);
}

function drop(ev) {
    ev.preventDefault();
    var data = ev.dataTransfer.getData("text");
    ev.target.appendChild(document.getElementById(data));
}
</script>
</head>
<body>

<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div>

<img id="drag1" src="img_logo.gif" draggable="true" ondragstart="drag(event)" width="336" height="69">

</body>
</html>

Ç××ÔÊÔÒ»ÊÔ

ËüÒ²Ðí¿´ÉÏÈ¥Óе㸴ÔÓ£¬²»¹ýÈÃÎÒÃÇÑо¿Ò»ÏÂÍÏ·ÅʼþµÄËùÓв»Í¬²¿·Ö¡£

°ÑÔªËØÉèÖÃΪ¿ÉÍÏ·Å

Ê×ÏÈ£ºÎªÁ˰ÑÒ»¸öÔªËØÉèÖÃΪ¿ÉÍÏ·Å£¬Çë°Ñ draggable ÊôÐÔÉèÖÃΪ true£º

<img draggable="true">

ÍϷŵÄÄÚÈÝ - ondragstart ºÍ setData()

È»ºó£¬¹æ¶¨µ±ÔªËر»Í϶¯Ê±·¢ÉúµÄÊÂÇé¡£

ÔÚÉÏÃæµÄÀý×ÓÖУ¬ondragstart ÊôÐÔµ÷ÓÃÁËÒ»¸ö drag(event) º¯Êý£¬¹æ¶¨Í϶¯Ê²Ã´Êý¾Ý¡£

dataTransfer.setData() ·½·¨ÉèÖñ»Í϶¯Êý¾ÝµÄÊý¾ÝÀàÐͺÍÖµ£º

function drag(ev) {
    ev.dataTransfer.setData("text", ev.target.id);
}

ÔÚ±¾ÀýÖУ¬Êý¾ÝÀàÐÍÊÇ "text"£¬¶øÖµÊÇÕâ¸ö¿ÉÍ϶¯ÔªËØµÄ id ("drag1")¡£

Íϵ½ºÎ´¦ - ondragover

ondragover ʼþ¹æ¶¨±»Í϶¯µÄÊý¾ÝÄܹ»±»·ÅÖõ½ºÎ´¦¡£

ĬÈϵأ¬Êý¾Ý/ÔªËØÎÞ·¨±»·ÅÖõ½ÆäËûÔªËØÖС£ÎªÁËʵÏÖÍÏ·Å£¬ÎÒÃDZØÐë×èÖ¹ÔªËØµÄÕâÖÖĬÈϵĴ¦Àí·½Ê½¡£

Õâ¸öÈÎÎñÓÉ ondragover ʼþµÄ event.preventDefault() ·½·¨Íê³É£º

event.preventDefault()

½øÐзÅÖà - ondrop

µ±·Å¿ª±»ÍÏÊý¾Ýʱ£¬»á·¢Éú drop ʼþ¡£

ÔÚÉÏÃæµÄÀý×ÓÖУ¬ondrop ÊôÐÔµ÷ÓÃÁËÒ»¸öº¯Êý£¬drop(event)£º

function drop(ev) {
    ev.preventDefault();
    var data = ev.dataTransfer.getData("text");
    ev.target.appendChild(document.getElementById(data));
}

´úÂë½âÊÍ£º

  • µ÷Óà preventDefault() À´×èÖ¹Êý¾ÝµÄä¯ÀÀÆ÷ĬÈÏ´¦Àí·½Ê½£¨drop ʼþµÄĬÈÏÐÐΪÊÇÒÔÁ´½ÓÐÎʽ´ò¿ª£©
  • ͨ¹ý dataTransfer.getData() ·½·¨»ñµÃ±»ÍϵÄÊý¾Ý¡£¸Ã·½·¨½«·µ»ØÔÚ setData() ·½·¨ÖÐÉèÖÃΪÏàͬÀàÐ͵ÄÈκÎÊý¾Ý
  • ±»ÍÏÊý¾ÝÊDZ»ÍÏÔªËØµÄ id ("drag1")
  • °Ñ±»ÍÏÔªËØ×·¼Óµ½·ÅÖÃÔªËØÖÐ

¸ü¶àʵÀý

À´»ØÍÏ·ÅͼƬ

ÈçºÎÔÚÁ½¸ö <div> ÔªËØÖ®¼äÀ´»ØÍÏ·ÅͼÏñ£º

Çë°Ñ W3School ͼƬÍϵ½¾ØÐÎÖС£

Ç××ÔÊÔÒ»ÊÔ

VUE