【发布时间】:2014-08-06 00:29:38
【问题描述】:
我正在开发移动应用程序并使用 slickgrid 在 iOS 应用程序的 UIWebView 中显示 json 数据。
Slickgrid 填充了数据,但问题是列在 iPAD 上不可拖动或重新排序,但在 Web 上它工作正常。我想知道为什么它不能在移动/触摸设备上运行。 我必须使用任何其他 js api 来启用此列的拖动和重新排序。 对此的任何帮助将不胜感激。
【问题讨论】:
我正在开发移动应用程序并使用 slickgrid 在 iOS 应用程序的 UIWebView 中显示 json 数据。
Slickgrid 填充了数据,但问题是列在 iPAD 上不可拖动或重新排序,但在 Web 上它工作正常。我想知道为什么它不能在移动/触摸设备上运行。 我必须使用任何其他 js api 来启用此列的拖动和重新排序。 对此的任何帮助将不胜感激。
【问题讨论】:
简单地说,draggable 在 ipad 或任何触控设备上都不起作用,因为它在触控上的效果(或事件)不同。当您在触摸上尝试这种效果时,您实际上是在执行一个不可拖动的“点击”事件。您可以尝试通过以某种方式对其进行改造来作弊,如下面的解决方案所示:How can I make a jQuery UI 'draggable()' div draggable for touchscreen? 答案指向以下 Github 项目jQuery UI Touch Punch
我不得不承认我没有尝试过.. 但似乎只包括 jquery.ui.touch-punch.js 文件之后(或完全在最后)所有 jQuery UI 文件和slickgrid 使用的可拖动文件jquery.event.drag-2.2.js 可能足以工作。今晚我很可能会在家里自己尝试一下,这似乎是一个非常好的黑客解决方案:)
编辑
我在我的三星 S3 上试过它,它可以工作..这很容易,只需要在所有文件和宾果游戏之后包含 hack(jQuery UI Touch Punch),它现在可以在移动设备上运行(可拖动)..sweet sweet :)
【讨论】:
minWidth,width和maxWidth自动调整网格大小以获得体面的东西。