使用Java中的dataTransfer对象拖放li元素

问题描述 投票:3回答:3

我正在自动化应用程序中的拖放功能之一。我正在尝试的是使用dataTransfer对象通过JavaScript将li元素从“ sourcelist”拖放到“ destlist”。这是我已经完成的工作,并且在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;

我必须初始化对象事件吗?如何以编程方式创建用于拖放的事件对象?我是Java语言的新手,如果有人可以向我指出正确的方向,我将不胜感激。

javascript drag-and-drop dom-events javascript-framework
3个回答
1
投票

DragDrop功能仅在新版本的浏览器中受支持。您是否尝试过Chrome 8,Safari 5或Firefox 3.6。它们都是新版本,应该在那里工作。

检查以下链接以寻求帮助。

http://html5demos.com/drag

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

enter link description here


1
投票

也许看看http://jquerypp.com/,它为jQuery提供了扩展,尤其是dragNdrop挑战。


1
投票

对于像我一样的寻找此线程的未来访问者:某些浏览器仅支持某些事件的dataTransfer。遗憾的是,Chrome并不支持它的dragstart或dragover。这可能是OP的代码失败的原因。在这里发现:https://stackoverflow.com/a/7837276/597849

© www.soinside.com 2019 - 2024. All rights reserved.