2009-04-29 69 views
2

我一直在使用谷歌搜索,现在尝试了很长一段时间,但无处可去。所以在这里:使DIV接受并通过JavaScript处理丢弃可能吗?

我想要做的就是放在DIV标签上的文本,并用JavaScript处理。沿着这些路线的东西:

<script type="text/javascript"> 

function handleDrop(sender, args) 
{ 
    $('#theDiv').html(args.textfromdrop); 
} 

</script> 

<div id="theDiv" ondrop="handleDrop()" /> 

<br/> 
<p> 
This is some simple text. Draggable? 
</p> 

所以,这个网页上我希望能够从段拖动的内容,例如到div,它会处理的下降,改变它的外形相应的(或者,也许只是显示文字,只要它能处理它!)。我一直在尝试使用jQuery,但它似乎是一个完整的其他模型,并且我无法将所有可能的可拖动对象设置为这样,因为它们应该能够来自任何地方。这甚至有可能吗?

编辑:请纠正我,如果我错了,但这些droppables都需要一个可拖动的放在它,对吧?我想要的是,你可以从你没有任何控制的页面中删除文本,纯文本。这听起来很奇怪,但它是一个Firefox扩展,您可以将内容从页面拖动到侧栏中的另一个页面。

回答

0

我会建议使用既定的JavaScript库如jQuery或YUI。

0

或者如果你喜欢原型像我这样做:http://wiki.github.com/madrobby/scriptaculous/droppables

编辑:基于您的修改后的问题:没有,有没有办法可以让用户从一个页面式文本到另一个页面。除非你决定像你说的那样建立一个FireFox扩展。即使您可以找到解决安全问题的方法,但无法为不在同一个域下的页面编写脚本,您只能拖放它们所在窗口/ iFrame中的DOM元素。

0

您是否考虑过创建一个隐藏的textarea(即与css风格visibility:hidden)重叠有问题的div?然后使用onchange JavaScript事件检查drop,或者如果这不起作用,请定期检查非空字符串的textarea值。我猜你的里程会因浏览器和操作系统而异。

+0

这是一个好主意。当我回家时会尝试。奢侈是我只需要这个在Firefox中工作。所有的操作系​​统,但。 – miccet 2009-05-04 06:17:34

0

我以前做过这件事,它可以在没有任何图书馆的情况下完成一些工作。

我已经建立了以下方法:跟踪你的鼠标移动

  1. 方法。
  2. 删除时读取和传递内容的方法。
  3. 用于拖放方法的onmousemove和onclick事件。
  4. OnMouseOver为您想要放置文本的div区域 - 检测指针是否位于容器(div)之上。
  5. 最后,在删除文本后,我使用innerHTML删除了原始内容(如果需要),因此它看起来像已被移动。

你几乎可以通过这种方式实现类似于拖放功能的Windows。我用它来拖放图像,图标等。

如果您需要编码方面的帮助,我可以给您一些指导,但大多数情况下您会发现如果您有一点Google,那么您所需要做的就是让他们一起工作。