我有一个动画启用或禁用kendo网格列的kendo菜单。当我从KendoMenu中选择选项时,选择会触发两次。我在下面创建了演示版。
$("#menu").kendoMenu({
dataSource: [{
text: "Menu",
items: ds
}],
openOnClick: true,
closeOnClick: false,
open: function () {
var selector;
$.each(grid.columns, function () {
if (this.hidden) {
selector = "input[data-field='" + this.field + "']";
$(selector).prop("checked", false);
}
});
},
select: function (e) {
// don't show/hide for menu button --- calling twice
if ($(e.item).parent().filter("div").length) return;
console.log("******");
var input = $(e.item).find("input.check");
var field = $(input).data("field");
if ($(input).is(":checked")) {
grid.showColumn(field);
} else {
grid.hideColumn(field);
}
}});
选择菜单项时检查控制台日志。
答案 0 :(得分:0)
在菜单项中添加复选框似乎会导致kendo触发菜单点击和复选框检查的事件。似乎很难区分这两个实例,因此最好做一些不同的事情来表明检查。可以使用以下图标 - 可以使用勾选图标而不是实际的复选框: