You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何禁用Kendo-ui Scheduler双击事件触发的默认编辑弹窗

Kendo UI Scheduler 禁用双击默认编辑弹窗的实现方法

下面提供两种适配不同业务场景的实现方案:

方案1:全局拦截编辑事件(推荐)

适合需要完全替换默认编辑弹窗的场景,无需额外绑定事件,使用组件原生支持的edit事件拦截逻辑,不影响拖拽调整事件时间、选中时间段新建等其他编辑操作:

$("#scheduler").kendoScheduler({
  // 此处保留你已有的其他配置:dataSource、date、views等
  edit: function(e) {
    // 直接阻止默认编辑弹窗弹出
    e.preventDefault();
    // 可直接调用自定义弹窗打开逻辑,通过e.event拿到当前触发编辑的日程数据
    const targetScheduleEvent = e.event;
    // 调用你自己的弹窗方法:openCustomEditModal(targetScheduleEvent)
  }
});

方案2:单独拦截双击事件

适合只需要禁用双击触发的默认弹窗,其他场景(比如点击事件菜单的编辑按钮)仍保留默认弹窗的场景:

// 拦截日程事件的双击行为
$("#scheduler").on("dblclick", ".k-event", function(e) {
  e.preventDefault();
  e.stopPropagation();
  // 拿到当前点击的日程数据
  const scheduler = $("#scheduler").data("kendoScheduler");
  const targetScheduleEvent = scheduler.occurrenceByUid($(this).data("uid"));
  // 调用你自己的弹窗方法:openCustomEditModal(targetScheduleEvent)
});

// 若同时需要禁用空白区域双击触发的新建默认弹窗,可添加以下拦截
$("#scheduler").on("dblclick", ".k-scheduler-work-space td", function(e) {
  e.preventDefault();
  e.stopPropagation();
  // 若有自定义新建弹窗可在此处调用
});

注意事项

不要直接将配置项editable设为false,该配置会全局禁用所有编辑相关能力,包括拖拽调整事件时长、删除事件等,不符合自定义弹窗的常规业务需求。


内容的提问来源于stack exchange,提问作者Anil c m

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 21:18:03