使用 FullCalendar 和 SlickGrid 时如何选择文本

Posted

技术标签:

【中文标题】使用 FullCalendar 和 SlickGrid 时如何选择文本【英文标题】:How to select text when using FullCalendar and SlickGrid 【发布时间】:2017-05-18 04:30:22 【问题描述】:

我有一个带有SlickGrid 的页面,我想添加一个FullCalendar 以日历形式显示基于日期的数据,以增强表格(网格)显示。

这很好用(网格显示和日历显示),但我注意到在调用 fullCalendar() 后我无法再突出显示和选择页面上的文本

我从ThreeDubMedia 中将根本原因脚本识别为jquery.event.drag,这是SlickGrid 所必需的(如果未加载jquery.event.drag lib,则会引发异常)

但是,在不破坏其他东西(如 SlickGrid 功能)的情况下,我很难找到修复程序甚至破解方法来使其正常工作。我一直在搞乱 FullCalendar 选项,甚至实验性地破解了一些 mousedownselectstart 处理代码,但这并没有帮助。我还使用了jquery.event.drag 方法,但我没有运气解决文本选择问题,同时保留了我的用户想要的 SlickGrid 功能(比如能够拖动列和其他东西)。

所以肯定是某种集成问题,但我不确定问题出在哪里。在我实际创建(渲染)FullCalendar(通过调用fullCalendar())之前,jquery.event.drag 给了我零问题,这很奇怪,所以也许 FullCalendar 是罪魁祸首。它确实代理了几个事件,例如mousemovemouseupselectstart,但jquery.event.drag 也可以代理hijack 事件......呃。

有人解决这个问题吗?谢谢。

显示问题的小提琴:http://jsfiddle.net/4kLf8jk5/

上面 Fiddle 的克隆,但调用 .fullCalendar() 已注释掉:http://jsfiddle.net/4kLf8jk5/2/

(这些是极简示例,但足以说明问题)

【问题讨论】:

【参考方案1】:

$("#calendar").fullCalendar(); $(document).unbind("dragstart");

【讨论】:

谢谢,但有没有办法更通用或永久地做到这一点?这一直有效,直到用户更改月份或从日/周视图更改,然后 dragstart 显然再次连接【参考方案2】:

你试过6pac repo吗? 这有一个版本的jquery.event.drag..drop 更新为 jquery 版本 2.x 和 3.x 和其他小错误修正。在进一步调查之前可能值得一试。

【讨论】:

以上是关于使用 FullCalendar 和 SlickGrid 时如何选择文本的主要内容,如果未能解决你的问题,请参考以下文章

对 fullcalendar.io 使用普通的 PHP 路由 (&) 和 symfony 路由 (/)

Fullcalendar-如何删除和显示已完成的任务

fullCalendar 事件发布方法到 MySQL

Fullcalendar 日历控件的基本使用

fullCalendar使用经验总结

fullcalendar-无法获取所选月份的月份和年份