【问题标题】:Javascript testing to simulate drag for JQuery UI sortable listsJavascript 测试模拟 JQuery UI 可排序列表的拖动
【发布时间】:2011-10-30 06:39:28
【问题描述】:

我正在尝试编写一些前端 Javascript 测试来测试我在我的网络应用程序中使用的JQuery UI sortable list 的拖放功能。但是,我遇到了一个问题,即 JQuery UI 可排序列表似乎没有响应模拟鼠标事件。

我尝试了多种技术来测试这一点,但最后我发现了 JQuery 自己的simulation plugin,它似乎提供了我需要的功能。但是,当我运行模拟时,可排序列表不会响应拖动事件,但 Draggable 等其他组件会响应。

这一切都可以很容易地用我放在一起的simple drag simulation example 来演示。在此示例中,我嵌入了 jquery.simulate 插件,但修改了拖动功能以减慢它触发的事件,以便您可以直观地看到正在发生的事情。正如您将看到的,模拟插件正确地将列表项 1 向下移动到项 3 和 4 之间,但是当触发 mouseup 事件时,该项只是快速回到它的原始位置,而不是重新排序列表。我怀疑 JQuery UI 库正在寻找另一个事件,但不幸的是我找不到它。

请到http://jsbin.com/efuyef/7/edit#javascript,live查看可排序列表拖拽失败的例子。只需刷新页面即可再次运行模拟。

有没有人知道如何正确模拟可排序列表上的拖动事件?我们将不胜感激。

【问题讨论】:

  • 遇到了同样的问题,jquery.simulate 无法拖动 sortables。感谢您提出这个问题。我已经开始怀疑自己的理智了……

标签: unit-testing jquery-ui jquery-ui-sortable


【解决方案1】:

在网上搜索了很多之后,我发现这个问题没有解决方案,所以我继续开发自己的解决方案。

查看我的 JQuery 插件的 Github 存储库jquery.simulate.drag-sortable.js

如果您发现这有任何问题,请编写测试以复制该问题并 fork 项目或在 Github 中提出问题。

【讨论】:

  • 天哪,你让我很开心。我对 sortable 和 jquery.simulate 也有同样的问题。谢谢!
猜你喜欢
  • 1970-01-01
  • 2016-09-14
  • 2011-12-11
  • 1970-01-01
  • 2014-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-26
相关资源
最近更新 更多