javascript - Kendo UI 日历:强制多选
问题描述
Kendo UI 日历支持多选:https ://demos.telerik.com/kendo-ui/calendar/selection
但是,需要按住 ctrl 键才能选择多个日期。如果用户定期点击日历,所有现有日期都将被清除。我希望日历始终处于多选模式,就好像一直按住 ctrl 键一样。
剑道在这里有一篇关于这样做的文章:https ://docs.telerik.com/kendo-ui/knowledge-base/calendar-select-dates-click
但是当用户点击并拖动多个日期时,这不起作用(它只适用于一次点击一个日期)。
有没有办法“覆盖” jQuery 事件并将其ctrlKey
标志设置为 true?或者有没有办法禁用破坏第二个解决方案的点击和拖动功能?
- - 更新:
不要使用这篇剑道文章中的解决方法。它使缩小(到月视图)停止工作。并且点击处理程序泄漏。使用下面找到的答案。
解决方案
selectable
您可以从日历模块中取消绑定与拖动相关的用户事件。你会做这样的事情:
var ue = $("#calendar").getKendoCalendar().selectable.userEvents;
ue.unbind("start");
ue.unbind("move");
ue.unbind("end");
或者,如果您想保留拖动功能,您可以通过执行以下操作来调整拖动开始:
var selectable = $("#calendar").getKendoCalendar().selectable;
selectable.userEvents.unbind("start");
selectable.userEvents.bind("start", function(e){
e.target.removeClass("k-state-selected");
e.event.ctrlKey = true;
selectable._start(e);
});
推荐阅读
- javascript - 使用 jQuery 循环遍历 HTML 表中的项目
- excel - 我无法在 VBA excel 中更改我所在地区语言的标题
- android - Android studio 默认活动未找到错误
- python - Python Gurobi 导入错误:DLL 加载失败
- admin-on-rest - 身份验证提供者 | 我可以在编辑 localStorage 变量的角色之间切换
- assembly - 移位和旋转操作不适用于 8086 培训套件,为什么?
- python-3.x - 未找到 OSError tsv
- javascript - 将 .ts 文件导入 .js 文件时出错
- raspberry-pi - 从青草中获取覆盆子的温度
- apache-nifi - Nifi:在企业代理环境中使用 Azure 事件中心