我在Kendo UI Grid中使用Kendo UI上下文菜单( JavaScript而不是MVC )。 它提供了一个filter属性,当用户选择一行网格时,我正在使用该属性打开上下文菜单。现在我需要使用我已经完成的模板在网格单元格中添加链接,但是点击该链接我需要运行JavaScript函数而不是打开上下文菜单。下面是显示行和蓝色链接的剪辑,而不是调用JavaScript函数正在打开上下文菜单。上下文菜单设置为左键单击而不是右键打开,因为客户希望它对于iPad来说就像这样。
如果单击该链接,无论如何都要打开上下文菜单,最好是在提及上下文菜单的过滤属性时排除链接或锚标记。我已经提到了这样的菜单:
$("#menu").kendoContextMenu({
showOn: "click",
orientation: "vertical",
target: "#mainGrid",
filter: "td[role='gridcell']",
});
答案 0 :(得分:2)
点击本身首先在锚元素中发生,然后传播到调用菜单的td
元素。因此,您可以阻止事件触发td
事件中的a
:
$("#mainGrid").on("click", "a", function(e) {
e.stopPropagation();
});
stopPropagation()
将保留锚点作业,但会阻止锚点上的其他元素触发其事件。此代码适用于网格中的任何锚点。