http://page-test.co.uk/cal/ http://page-test.co.uk/cal/- 完整日历演示
我已经设置了它,这是一个基本的 jQuery FullCalendar 设置,带有相关的附加功能,以支持触摸设备。
链接页面中包含的文件均为默认文件。
该演示在非触摸设备上完美运行,但在触摸设备上却很困难。
主要在 iPhone/iPad 上进行测试(其他触摸设备的操作或多或少完全相同),一旦拖动一个项目,就不能拖动另一个项目。因此,您可以拖动任何项目,但其他项目会被锁定。
一些关键点:
更改视图(月/周等)然后允许再次拖动所有内容
如果您先点击/触摸另一个元素,则可以拖动该元素,但不能拖动其他元素,直到您先触摸这些元素。
在 BlackBerry Playbook 上,它的行为实际上略有不同。如果你去拖动一个不同的元素(通常什么也不会发生),那么在 PlayBook 上它似乎什么也不做(当你在屏幕上滑动手指时) - 但是当你放开时(什么也没有发生) go 它选择可拖动元素,然后取消选择它。如果您然后拖动该元素,它就可以正常工作。
更改设备的方向会立即锁定页面上的所有元素,并且必须先将视图更改为月/周或触摸一次元素,然后才能再次拖动任何内容。
我敢打赌这是一个单行修复,但我花了几个小时却无法让它做任何事情。
我只想让它在 iPad/iPhone 上运行。
似乎是 mouseup/touchend 没有触发某些东西,或者 touchstart 事件在第一次拖动后被删除,但我只是无法找到问题。
Edit:
I used 触摸冲床 http://touchpunch.furf.com/dayRender 允许在触摸设备上选择一天或多天。我刚刚添加了源代码,并将 Touch Punch 中的 addTouch() 函数添加到了日期单元格的渲染中:
dayRender: function( date, cell) {
cell.addTouch();
},
这至少可以让您在触摸设备上选择一天或几天,您也许可以在其他地方使用其他 Touch Punch 功能来执行更多操作,但我还没有尝试过。
我在使用 iPad 时也遇到了同样的问题。我试过https://github.com/jboesch/jQuery-fullCalendar-iPad-drag-drop https://github.com/jboesch/jQuery-fullCalendar-iPad-drag-drop以及我的全日历应用程序,可以拖动一个事件但不能拖动另一个事件,它会滚动。我禁用了滚动,但仍然得到相同的行为。我也尝试了这里提到的最后一个选项与这个项目https://github.com/joshgerdes/jquery.ui.touch https://github.com/joshgerdes/jquery.ui.touch
我还想选择几天或几小时来创建活动。我查看了 iPad 上的谷歌日历,它也缺少此功能,并且如果它无法在您的浏览器(iPad 上的 safari)上运行,他们会发出使用移动版本的通知。移动版本不会在月视图中显示任何事件,因此这不能作为我的应用程序的选项。具有可选择性和拖放功能的功能齐全的全日历将是理想的选择,但触摸设备可能无法很好地支持这一点。我也会继续寻找解决方案,但如果谷歌不提供该功能,它可能不容易实现,我们可能需要提供移动版本和/或实时版本,无法选择并在触摸屏上拖放。我也非常感谢其他人的帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)