Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Не работает драг-энд-дроп (https://javascript.ru/forum/dom-window/51870-ne-rabotaet-drag-ehnd-drop.html)

slavaspirit 23.11.2014 13:26

Не работает драг-энд-дроп
 
Добрый день!
Пытаюсь вот понять, как пользоваться драг-энд-дропом (без jquery). Сделал два элемента: один - блок и второй - контейнер. Задачка, вроде, не тривиальна - блок надо положить в контейнер.
Все, вроде, делаю правильно, но data transfer не работает.
Подскажите, где накосячил, плиз...

http://jsfiddle.net/qo9qqnqx/

danik.js 23.11.2014 14:16

Цитата:

var data = e.dataTransfer.getData('text/html');
И? Дальше че?

И причем тут text/html? Сделай так:
Когда хватаем элемент - записываем данные с кастомным типом:
setData('application/x-element-id', this.id);
Это мы записали id элемента.

На принимающей стороне получаем эти данные и делаем appendChild элемента с таким id.

На самом деле, даже нет необходимости что-то передавать через dataTransfer. Просто при старте запоминаем в переменную перетаскиваемый элемента, а при финише - делаем appendChild.

slavaspirit 23.11.2014 17:50

Спасибо большое...)

slavaspirit 23.11.2014 19:23

А каким образом поступить, если блоков для перетаскивания несколько и все с одинаковым ID?

Написал такую штуку:
var elements = document.getElementById("moveto");
	var allIds = '';
	for(var i=0; i<elements.length; i++) {
		allIds += elements[i].name;
	}
	document.write(allIds);


Но не пойму, как вставить...

рони 23.11.2014 19:26

slavaspirit,
у кого много одинаковых id
запрещено использование document.write

рони 23.11.2014 19:27

:write:
пример по теме
http://www.w3schools.com/html/html5_draganddrop.asp
http://www.w3schools.com/html/tryit....l5_draganddrop

danik.js 23.11.2014 19:58

Цитата:

Сообщение от slavaspirit
и все с одинаковым ID?

А детей своих тоже одинаковым именем назовешь? :dance:


Часовой пояс GMT +3, время: 12:47.