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