前段时间我创建了一个拖动复选框列表,允许您在一个手势中检查多个复选框。您是否认为它在网络上可行且可用,人们可能不知道如何使用它。默认行为仍适用于各个复选框。

有帮助吗?

解决方案

1 - 想法

这个想法很好,可以用在与用户直接联系的专业应用程序中,可以解释它们的工作原理,但不一定是在用户不想使用RTFM并且只是在寻找熟悉的公共网站上行为。除非它只是一个样本练习或控件包含在控制包中,否则它违反了 YAGNI 原则;)

2 - 实施

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

3 - 可能的改进

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

其他提示

该演示肯定需要一些增强功能才能使它更有用(虽然我不确定它是否足够):

  1. 允许拖动从不是复选框的某处开始。
  2. 也可以通过拖动标签来进行选择。
  3. 此问题类似于在Windows资源管理器等文件浏览器中选择多个文件的操作。也许它可以通过在要选择的项目周围拖动矩形形状来选择多个文件的操作(选择一个角,拖动到另一个角落)?这具有类似于人们可能已经熟悉的界面元素的优点。

出于某种原因,我无法打开你的链接(它说我的IP地址被阻止了)。但我认为你所寻找的是我在jquery中已经做过的事情,我上传了一个插件,我基本上从crossbrowser.com的dragcheck功能移植,它可以在 http://plugins.jquery.com/project/dragCheck 但是目前jquery插件网站正在改版,我的插件已经消失。我试图看看他们是否会重新启动它,或者我是否必须再次创建一个新项目...... 无论如何,在我们得到结果之前你可以在这里看到一个演示: http://jsbin.com/ibihi

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top