我被困在这里,无法继续前进。任何帮助/指针将不胜感激。
我有一个剑道网格,我正在网格上扩展一个函数,以便在触发更改事件之前,我绑定 mousedown 事件以获得用户的确认。只有在收到肯定的确认后,才应触发更改事件。在消极的确认中,我使用了'stopImmediatePropagation'来达到目的。
$("#KendoGrid").extendedFunction();
扩展函数定义如下:
$.fn.extendedFunction= function () {
var $grid = $(this);
var $kGrid = $grid.data("kendoGrid");
if (!$kGrid) {
return this;
}
else {
$kGrid.tbody.on('mousedown', function (e) {
showConfirmation(e);
});
}
};
function showConfirmation(e) {
var dialogResult = confirm("confirm?");
if (dialogResult) {
return true;
}
else {
e.stopImmediatePropagation();
return false;
}
}
return true;
}
因此,问题是当 dialogResult 为 false 时,立即传播按预期停止,但当对话框结果为 true 时.. 底层 kendo 事件没有被触发。
我也尝试过使用 kgrid.trigger("change"); 但这也不起作用。那么,有没有办法解决这个问题,或者无论如何重置 stopImmediatePropagation 以便在 dialogResult 为真时触发 kendo 更改事件?
提前致谢!!