Kendo 日期选择器中的关闭事件多次触发
Close Event in Kendo Datepicker fire many times
我已经在我的网格中创建了一个模板:
template: '#if(IniReal != ""){# <div class="text-center">#= IniReal #</div> # } else {#<input class="fechaReal" /> #} #',
在此模板中,当我的排列元素为空时,会创建一个日期选择器
$(".fechaReal").kendoDatePicker({
format: "dd-MM-yyyy",
parseFormats: ["dd-MM-yyyy"],
change: vmSeg.Cambio,
close: vmSeg.Cerrar
});
问题出在Close事件第一次触发后,下次触发两次,以此类推,我只希望Close事件触发一次,不要重复触发
这是我的活动关闭
vmSeg.Cerrar = function (e) {
$("#ActiSeguimiento").on("focusout", ".k-datepicker", function (e) {
vmSeg.grid = $("#ActiSeguimiento").data("kendoGrid");
vmSeg.dataItem = vmSeg.grid.dataItem($(this).closest("tr"));
vmSeg.dataItem.IniReal = vmSeg.NuevaFecha;
return false;
});
}
这是我的活动更改:
vmSeg.Cambio = function(e) {
vmSeg.NuevaFecha = kendo.toString(kendo.parseDate(this.value()), "dd-MM-yyyy");
}
我的事件关闭有什么问题?
我检查了您提供的 dojo,问题似乎是由 'focusout' 事件的声明引起的,该事件在每次关闭时挂钩,而不是在 Kendo 小部件中。当我删除 'focusout' 事件的 decalration 时,场景正常工作。我这边正确触发了关闭,但 'focusout' 被触发了很多次。在这种情况下,我建议您将其单独定义为 here,以便它只触发一次。
我已经在我的网格中创建了一个模板:
template: '#if(IniReal != ""){# <div class="text-center">#= IniReal #</div> # } else {#<input class="fechaReal" /> #} #',
在此模板中,当我的排列元素为空时,会创建一个日期选择器
$(".fechaReal").kendoDatePicker({
format: "dd-MM-yyyy",
parseFormats: ["dd-MM-yyyy"],
change: vmSeg.Cambio,
close: vmSeg.Cerrar
});
问题出在Close事件第一次触发后,下次触发两次,以此类推,我只希望Close事件触发一次,不要重复触发
这是我的活动关闭
vmSeg.Cerrar = function (e) {
$("#ActiSeguimiento").on("focusout", ".k-datepicker", function (e) {
vmSeg.grid = $("#ActiSeguimiento").data("kendoGrid");
vmSeg.dataItem = vmSeg.grid.dataItem($(this).closest("tr"));
vmSeg.dataItem.IniReal = vmSeg.NuevaFecha;
return false;
});
}
这是我的活动更改:
vmSeg.Cambio = function(e) {
vmSeg.NuevaFecha = kendo.toString(kendo.parseDate(this.value()), "dd-MM-yyyy");
}
我的事件关闭有什么问题?
我检查了您提供的 dojo,问题似乎是由 'focusout' 事件的声明引起的,该事件在每次关闭时挂钩,而不是在 Kendo 小部件中。当我删除 'focusout' 事件的 decalration 时,场景正常工作。我这边正确触发了关闭,但 'focusout' 被触发了很多次。在这种情况下,我建议您将其单独定义为 here,以便它只触发一次。