Kendo UI Scheduler移除确认弹窗禁用或内容修改方案咨询
解决Kendo UI Scheduler删除确认弹窗的两种方案
我刚好处理过类似的需求,给你两个靠谱的方案,分别对应禁用弹窗和修改弹窗内容:
方案一:直接禁用删除确认弹窗
其实Kendo UI Scheduler本身就支持通过配置关闭删除确认,不需要额外监听事件。你只需要在editable配置里把confirmation设为false就行,这是官方提供的属性,最简洁有效:
$("#scheduler").kendoScheduler({ // 你的其他Scheduler配置(比如dataSource、views等) editable: { confirmation: false // 关闭删除时的确认弹窗 } });
方案二:修改确认弹窗的内容(保留弹窗但改文案)
如果你不想完全禁用弹窗,只是想修改提示内容,之前监听ready事件无效的原因是弹窗是动态生成的,绑定时机不对。可以用下面两种方法:
方法1:全局覆盖Kendo确认弹窗的默认文案
这种方法会影响所有Kendo组件的确认弹窗,适合统一修改风格:
// 修改确认弹窗的提示文本 kendo.ui.dialog.fn.options.messages.confirm = "确定要删除这个日程吗?"; // 修改确认按钮文本 kendo.ui.dialog.fn.options.messages.ok = "删除"; // 修改取消按钮文本 kendo.ui.dialog.fn.options.messages.cancel = "取消";
方法2:针对Scheduler的删除操作自定义弹窗
如果你只想修改Scheduler的删除弹窗,不影响其他组件,可以在remove事件里手动控制:
$("#scheduler").kendoScheduler({ // 其他配置... remove: function(e) { // 阻止默认的确认弹窗 e.preventDefault(); // 自定义确认弹窗 kendo.confirm("你确定要移除该日程吗?").then(function() { // 用户点击确认后,执行删除操作 e.sender.removeEvent(e.event); }, function() { // 用户点击取消,什么都不做 }); } });
这样不管是禁用弹窗还是修改内容都能完美解决,比监听弹窗的ready事件靠谱多啦~
内容的提问来源于stack exchange,提问作者Torben
相关产品推荐
相关产品推荐

