Kendo UI上下文菜单提及排除过滤器

时间:2016-01-18 08:49:29

标签: javascript jquery kendo-ui kendo-grid kendo-contextmenu

我在Kendo UI Grid中使用Kendo UI上下文菜单( JavaScript而不是MVC )。 它提供了一个filter属性,当用户选择一行网格时,我正在使用该属性打开上下文菜单。现在我需要使用我已经完成的模板在网格单元格中添加链接,但是点击该链接我需要运行JavaScript函数而不是打开上下文菜单。下面是显示行和蓝色链接的剪辑,而不是调用JavaScript函数正在打开上下文菜单。上下文菜单设置为左键单击而不是右键打开,因为客户希望它对于iPad来说就像这样。

Rows, Link and Context Menu

如果单击该链接,无论如何都要打开上下文菜单,最好是在提及上下文菜单的过滤属性时排除链接或锚标记。我已经提到了这样的菜单:

$("#menu").kendoContextMenu({
 showOn: "click",
 orientation: "vertical",
 target: "#mainGrid",
 filter: "td[role='gridcell']",
});

1 个答案:

答案 0 :(得分:2)

点击本身首先在锚元素中发生,然后传播到调用菜单的td元素。因此,您可以阻止事件触发td事件中的a

$("#mainGrid").on("click", "a", function(e) {
    e.stopPropagation();
}); 

stopPropagation()将保留锚点作业,但会阻止锚点上的其他元素触发其事件。此代码适用于网格中的任何锚点。

Demo