Home » 2014 » Октомври » 27 » Урок №3 HTML5 Drag & Drop
12:31 PM
Урок №3 HTML5 Drag & Drop

Drag & Drop

Drag & Drop е много обща черта. Това е, когато "хванете" обект и го преместите на друго място.
В HTML5, Drag & Drop(влачене и пускане) е част от стандарта, и всеки елемент може да бъде draggable.

Поддръжка от браузъри 

Internet Explorer Firefox Opera Google Chrome Safari

Internet Explorer 9+, Firefox, Opera, Chrome, and Safari поддържат drag and drop.

Забележка: Drag and Drop не работи в Safari 5.1.7 и по-ранни версии.

Drag & Drop Пример
Примерът по-долу е просто влачене и пускане:

  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <style>
  5. #div1 {width:350px;height:70px;padding:10px;border:1px solid #aaaaaa;}
  6. </style>
  7. <script>
  8. function allowDrop(ev) {
  9.     ev.preventDefault();
  10. }
  11.  
  12. function drag(ev) {
  13.     ev.dataTransfer.setData("text/html", ev.target.id);
  14. }
  15.  
  16. function drop(ev) {
  17.     ev.preventDefault();
  18.     var data = ev.dataTransfer.getData("text/html");
  19.     ev.target.appendChild(document.getElementById(data));
  20. }
  21. </script>
  22. </head>
  23. <body>
  24.  
  25. <div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
  26.  
  27. <img id="drag1" src="http://prikachi.com/images/59/7690059h.png" draggable="true"
  28. ondragstart="drag(event)" width="231" height="82">
  29.  
  30. </body>
  31. </html>

Резултат

Плъзнете изображението Pc-Tools в правоъгълника:

 


Кода може да изглежда сложно, но нека минем през всички различни части на Drag and Drop кода.

1.Правим елемент  Draggable
Първо:За да бъде елемент draggable,задайте draggable атрибута вярно(true):
<img draggable="true">

2.Определяме какво ще плъзгаме - ondragstart и setData ()
След това, да уточним какво трябва да се случи, когато елементът се влачи.
В примера по-горе, ondragstart атрибут нарича плъзнете събитие(drag(event)), в който се посочва какви данни да се влачат.
Методът на dataTransfer.setData () определя типа на данните и стойността на влачените данни:

function drag(ev) {
    ev.dataTransfer.setData("text/html", ev.target.id);
}
В този случай, типът на данните е text/ HTML" и номиналната стойност е идентификатора на draggable елемент ("drag1").

3.Къде да пуснем - ondragover
The ondragover случай уточнява, където могат да бъдат пуснати влачените данни.

По подразбиране, данни / елементите не могат да бъдат пуснати в други елементи. За да се позволи
 пускане,
 трябва да се предотврати манипулирането на неизпълнение от страна на елемента.

Това се прави, като извикате метода ondragoverevent event.preventDefault ():

event.preventDefault()
4.Направете пускане - ondrop

В примера по-горе, ondrop атрибута се нарича функция,пускащо събитие:

function drop(ev) {
    ev.preventDefault();
    var data = ev.dataTransfer.getData("text/html");
    ev.target.appendChild(document.getElementById(data));
}
обяснение на кода:

1.Извикайте  preventDefault (), за да се предотврати манипулирането
 на браузър по подразбиране на данните (по подразбиране е отворен линк на пускане)
2.Вземете влачените данни с метода dataTransfer.getData (). Този метод ще се върнат
 всички данни, които се определят за един и същи вид в setData () метод
3.Влачените данни са идентификатор на влачения елемент ("drag1")
4.Добавяне на влачения елемент в drop(event) елемента

Категория: HTML5 | Преглеждания: 724 | Довавено от: Kaloqn | Оценка: 5.0 | Гласували :2 | Tags: урок, Drag & Drop, yrok, HTML5, №3

Ако урокът ви е харесал можете да го споделите с вашите приятели във фейсбук :
Всички коментари: 0
avatar
Социални Мрежи

PC-Tools.inc | Copyright © 2014-2015
DMCA.com Protection Status Mozilla Firefox+4.0 Chrome+13.2 Opera+5.6 IE+7.9 Safari+2.0