簡體   English   中英

Kendo UI日歷:強制多選

[英]Kendo UI Calendar: Force multi-selection

Kendo UI日歷支持多項選擇: https : //demos.telerik.com/kendo-ui/calendar/selection

但是,需要按住ctrl鍵才能選擇多個日期。 如果用戶在日歷上執行常規單擊,則將清除所有現有日期。 我希望日歷始終處於多選模式,就像按住Ctrl鍵一樣。

Kendo在這里有關於此操作的文章: 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);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM