gpt4 book ai didi

javascript - 过滤器处于事件状态时防止刷新 Kendo Grid

转载 作者:行者123 更新时间:2023-11-29 15:31:49 26 4
gpt4 key购买 nike

我有一个每 5 秒刷新一次 Kendo Grid 的 javascript 方法,我想防止此功能在过滤器对话框打开或过滤处于事件状态时不起作用。是否可以?如果过滤器处于事件状态,是否可以使用任何事件?

//For refreshing grid periodically
$(document).ready(function () {
var refreshId = setInterval(function () {
var grid = $("#eventGrid").data("kendoGrid");
$("#eventGrid").data("kendoGrid").dataSource.read();
}, 5000);
});

最佳答案

请注意,使用 .k-animation-container 而不是 .k-filter-menu 自定义过滤器菜单可能会触发其他一些剑道小部件(我认为下拉菜单菜单就是其中之一)所以要小心。

对于默认过滤器菜单 .k-animation-container .k-filter-menu 将完成这项工作。对于自定义过滤器,可能会使用一些自定义 Hook /选择器,例如 .k-animation-container .custom-filter-menu 然后检查它是否可见。

$(function(){
var grid = $("#grid").data('kendoGrid'),
gridRefresh = setInterval(refreshGrid, 5000),
filterCheck;

grid.bind('filterMenuInit', onFilterMenuInit);

function onFilterMenuInit(){
// console.log('Filter Menu opened');
// console.log('Grid Refresh removed');
clearInterval(gridRefresh);
// console.log('Filter Check added');
filterCheck = setInterval(filterInterval, 1000);
}

function refreshGrid(){
//console.log('Grid Refreshed');
grid.dataSource.read();
}

function filterInterval(){
// console.log('Filter Check');
// '.k-animation-container .k-filter-menu' for default menus
// or '.k-animation-container .custom-filter-menu' for custom menus
if(!$('.k-animation-container').is(":visible")){
// console.log('Filter Check removed');
clearInterval(filterCheck);
// console.log('Grid Refresh added');
gridRefresh = setInterval(refreshGrid, 5000);
}
}
});

关于javascript - 过滤器处于事件状态时防止刷新 Kendo Grid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34131022/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com