1

不久前,我创建了一个拖放复选框列表,它允许您以一个手势检查多个复选框。你认为它在人们可能不知道如何使用它的网络上是可行和可用的。默认行为仍然适用于各个复选框。

4

3 回答 3

2

该演示肯定需要一些增强功能以​​使其更加有用(尽管我不确定它是否足够):

  1. 允许拖动从不是复选框的地方开始。
  2. 也允许通过拖动标签进行选择。

此问题似乎类似于在 Windows 资源管理器等文件资源管理器中选择多个文件的操作。也许它可以像通过在要选择的项目周围拖动一个矩形形状来选择多个文件的动作一样工作(选择一个角,拖动到另一个角)?这具有类似于人们可能已经熟悉的界面元素的优点。

于 2009-03-07T07:39:04.510 回答
2

1 - 想法

这个想法很好,可能可以用于您与用户直接接触并可以向他们解释事情如何工作的专业应用程序,但不一定在用户不想 RTFM 并且只是在寻找熟悉的行为的公共网站上使用。除非它只是一个示例练习或旨在将其包含在控制包中的控件,否则它违反了YAGNI原则;)

2 - 实施

您当然注意到实现是错误的(至少在 IE7 和 FF3.1B2 上)。有时,所有复选框上方的手势将选择所有复选框,但只有一个或两个。将鼠标移到列表上方或下方的 div 上将停止拖动(我知道这是一个“功能”,但它对用户不是很友好)。我检查了源代码,老实说,虽然它看起来很整洁,但我只是不想处理它,因为它是纯 javascript。难道你不知道...

3 - 可能的改进

...您可以使用 javascript 库(通常是jQuery)少写多做。我会将这个控件完全重写为一个 jQuery 插件。它将为您提供许多工具,使您的代码更易于编写、维护和扩展。试试吧,你会喜欢的。这是从技术角度来看的。从用户的角度来看,尽量让您的控制尽可能熟悉,就像 Angela 建议的那样,windows explorer :一个不错的选择矩形,使用shit + click 的能力,或类似的东西。最后,请记住,对于许多 Windows 复选框用户来说,“选中”和“选中”是两个不同的东西。

于 2009-03-07T08:04:13.717 回答
1

由于某种原因,我无法打开您的链接(它说我的 IP 地址被阻止)。但我认为你正在寻找的是我已经在 jquery 中所做的,我上传了一个插件,我基本上是从 crossbrowser.com 的 dragcheck 功能移植的,它可以在http://plugins.jquery.com/project/找到dragCheck但目前 jquery 插件站点正在修改,我的插件已经消失。我正在尝试看看他们是否会将其恢复,或者我是否必须再次创建一个新项目......无论如何,在我们解决之前你可以在这里看到一个演示:http: //jsbin.com /比比

于 2011-11-22T15:25:02.157 回答