перетащите элементы li с помощью объекта DataTransfer в JavaScript - PullRequest
3 голосов
/ 25 января 2011

Я автоматизирую одну из функций перетаскивания в нашем приложении. Все, что я пытаюсь - это перетаскивать элементы li из 'sourcelist' в 'destlist' через javascript, используя объект dataTransfer Вот что я сделал, и я получаю ошибку в Firefox. говоря 'event.dataTransfer не определено'

<div id=source> 
  <ul id=sourcelist>
   <li title='foo1'>foo1</li>
   <li title='foo2'>foo2</li>
  </ul>
</div>
<div id=dest>
 <ul id=destlist> </ul> 
</div>


event.dataTransfer.setData("text/html","<li title='foo1'>foo1</li>");
var textData = event.dataTransfer.getData("text/html");
var target=document.getElementById('destlist');
target.innerHTML=textData;

Нужно ли инициализировать событие объекта? Как создать объект события программно для перетаскивания? Я довольно новичок в javascript и был бы признателен, если бы кто-то указал мне правильное направление.

Спасибо, -Nilesh

Ответы [ 3 ]

1 голос
/ 10 июня 2012

Возможно, взгляните на http://jquerypp.com/, который предлагает расширения для jQuery, в том числе для вызова dragNdrop.

1 голос
/ 27 сентября 2012

Для будущих посетителей, которые найдут эту ветку, как и я: некоторые браузеры поддерживают только перенос данных для определенных событий.К сожалению, Chrome не поддерживает его для dragstart или dragover.Вероятно, поэтому код OP не работает.Обнаружил, что здесь: https://stackoverflow.com/a/7837276/597849

1 голос
/ 03 февраля 2011

Функция DragDrop поддерживается только в более новой версии браузера.Вы пробовали Chrome 8, Safari 5 или Firefox 3.6.Все они являются новыми версиями, и они должны работать там.

Проверьте следующие ссылки для справки.

http://html5demos.com/drag

http://html5doctor.com/native-drag-and-drop/

введите описание ссылки здесь

...