Kendo ui 剑道日期选择器:单击日期时防止关闭选择器

Kendo ui 剑道日期选择器:单击日期时防止关闭选择器,kendo-ui,kendo-datepicker,Kendo Ui,Kendo Datepicker,当我在选取器中更改日期时,选取器将被隐藏,如何在剑道ui日期选取器中跳过此行为尝试捕获日期选取器的更改事件 $("#datepicker").kendoDatePicker() .Events(e => { e.Change("JSFunction"); }) function JSFunction() { var datepicker = $("#datePickerId").data("kendoDatePicker"

当我在选取器中更改日期时,选取器将被隐藏,如何在剑道ui日期选取器中跳过此行为尝试捕获日期选取器的更改事件

 $("#datepicker").kendoDatePicker()
      .Events(e =>
      {
          e.Change("JSFunction");
      })


function JSFunction() {
   var datepicker = $("#datePickerId").data("kendoDatePicker");
    datepicker.open();
}

您可以替换日期选择器的DateView的change方法,使其不会关闭弹出窗口:

var datePicker = $("#sampleDate").kendoDatePicker({}).getKendoDatePicker();

datePicker.dateView.options.change = function () {
    datePicker._change(this.value());
};

()

只需对关闭事件执行
e.preventDefault()

$(“#日期选择器”).kendoDatePicker({
关闭:功能(e){
e、 preventDefault();//防止弹出窗口关闭
}
});

但是,您将无法再以任何方式关闭日期选择器,因此请确保仅当您希望保持日期选择器打开时才防止使用默认值

e、 g


是的,我试过上面的方法,但一旦用户更改日期,它仍然会关闭选择器。很好的解决方案,我真的不知道它是如何工作的哈哈。你知道如何用常规的
@(Html.Kendo().DatePicker()
)完成吗?@CSharper你只能用JS更改那些内部构件;问题是你不知道Kendo控件何时完成加载(至少我不知道是否有办法)因此,您可以更改小部件;我想您可以使用日期选择器的打开事件,并在选择器打开时以相同的方式更改this.dateView.options.changeopened@CSharper实际上,您可以使用相同的代码,只需将其放在jqueryready块中,并将其放在初始化日期选择器的代码之后
close: function(e) {
    if(keepOpen === true){
        e.preventDefault();
    }
}