我有一个带有带有时间序列数据图表的应用程序。图表包含几个标记,每当我将鼠标悬停在图例上时,它们就会突出显示。当我单击图例中的标记时,它们将不再在图表中突出显示。触发click事件,并调用kendo的legendItemClick函数。但是,当我右键单击图例项时,会出现一个上下文菜单,但对legendItemClick的调用仍被注册,因此图表中的标记被取消选择。
是否有一种方法可以防止在鼠标单击事件上调用legendItemClick?如果不是,那么是否有办法在legendItemClick函数中区分鼠标左键和鼠标右键?
以下是我正在使用的功能的参考:https://docs.telerik.com/kendo-ui/api/javascript/dataviz/ui/chart/events/legenditemclick
我尝试搜索e.keyCode,但这不是属性。
答案 0 :(得分:0)
不幸的是,kendo api不提供原始事件。
一种方法是在原始事件冒泡之前捕获并保存它:
document.addEventListener("mousedown", saveMouseDown, true);
function saveMouseDown(ev) {
$scope.mouseDownEvent = ev;
}
$scope.$on("$destroy", function () {
document.removeEventListener(saveMouseDown);
});
addEventListener
方法的第三个参数指定“捕获”模式。
有关更多信息,请参见