HTML5拖动以多个不同的下降目标,dropeffect,MultiSelect等拖放



我目前正在尝试HTML5拖放API。现在我有几个问题:

1。我是对的吗,不可能将可拖动元素与drop-areas连接?

示例:您有2种不同类型的元素要拖放:文件和文本标签。现在,如果我给一些div拖曳操作机和一个滴剂处理程序,它将响应文件和文本标签。我正在寻找一种仅响应特定类型的可拖动物品的简单可能性。

连接的问题是dropeffect光标风格:目前,我在拖放手柄中启用所有可能的drop-targets,并将所有可能的drog targets禁用在拖动手柄中(我的意思是"我的意思是"Dragover-和Drop Handler)。如果我不这样做,那么如果您可以将文件放在只能对文本标签做出反应的元素上看起来。

2。Dropeffect光标风格是一团糟。在Firefox中,我根本没有得到它们,在Chrome中,它会给我一个很大的" Plus" -Icon(即使我从元素中删除了Dragover-和drophers)

3。我要寻找的最后一个功能是多选:选择多个文本标签,然后一次拖动所有标签。这可能吗?我的第一个想法是创建一个新的DIV并将所有选定的元素移动在此DIV中,然后拖动新创建的Div。看起来很笨拙,看起来很丑;-)

我希望你们有一些答案。谢谢!

我认为HTML5拖放(和朋友)不应该被替换为常用的"拖放" JavaScript库(尽管可以使用它代替它们,而不是在一些案例)。这个名字具有误导性。

现代操作系统包括允许交叉通信的API:剪贴板和拖放。两种API都非常相似,由于具体的挑战,需要非常低级:

  • 数据必须跨进程发送,因此必须以某种方式序列化,
  • 发件人必须具有一种以多种格式提供数据的方式(例如文本/平原和文本/html),并且接收器可以选择它最喜欢的数据,
  • 发件人和接收器可能生活在不同的过程中,因此他们永远无法彼此了解(它们甚至可能是来自不同平台,GUI框架,编程语言等的实体,唯一的通信渠道是数据本身,

当前的HTML5 API,而不是 - 说 - jQueryui拖放物,并不是要严格控制拖动过程的外观和感觉,而是能够与本机范围内的机制紧密整合。哪个可能是程序员所需的。

所以回答问题:

  1. 您不能"将可拖动元素与Drop-Areas连接",因为您的可拖动元素甚至可以来自浏览器外部。但是您可以制作一个拒绝某些类型数据的区域(这是用户对本机拖放的期望)。
  2. "div"one_answers"多选择"不是操作系统所理解的事物(我们没有本地多胶体或多文本选择)。如果您使用可以切换的内部DIV进行A进行,则可以实现此类功能(例如,在持有移位时单击)。当某人试图拖动外潜水时,制作一个转移对象,说明选择了哪个内部divs(您甚至可以创建一个显示它们的图像)。

如果以上解决方案听起来有点低,那是因为它们是。当您开发桌面游戏或工具时,您不会依靠本机拖放来在棋盘上移动碎片或在GUI中移动滑块。我认为JavaScript也一样。jqueryui拖放物不会去任何地方。

相关内容

最新更新