javascript – Kendo UI上下文菜单提及排除过滤器中的元素

我在Kendo UI Grid中使用Kendo UI Context Menu(
JavaScript不是MVC).

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

《javascript – Kendo UI上下文菜单提及排除过滤器中的元素》

无论如何,如果单击该链接,可以绕过打开上下文菜单,最好是在提及上下文菜单的过滤器属性时排除链接或锚标记.我提到过这样的菜单:

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

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

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

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

Demo

点赞