4

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

行、链接和上下文菜单

如果单击该链接,是否有绕过上下文菜单打开的方法,最好是在提及上下文菜单的过滤器属性时排除链接或锚标记。我提到过这样的菜单:

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

1 回答 1

2

单击本身首先发生在锚元素中,然后传播td调用菜单的元素。所以可以防止事件触发td内部a事件:

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

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

演示

于 2016-01-18T12:55:31.233 回答