首页 > 解决方案 > Kendo UI Chart 禁用图例项右键单击事件

问题描述

我有一个使用带有图例的 Kendo UI 图表的应用程序。当用户单击图例项时,onLegendItemClick(e)将调用 Kendo 方法。但是,传递给此函数的事件不包含originalEvent,因此无法区分右击和左击。

这是相关的 API 参考:https ://docs.telerik.com/kendo-ui/api/javascript/dataviz/ui/chart/events/legenditemclick

我尝试在调用 onLegendItemClick 之前添加一个事件侦听器并捕获“mousedown”事件,如下所示。但是,这种方法在触摸屏设备(iPad、平板电脑、移动设备等)上会失败。

document.addEventListener("mousedown", saveMouseDown, true);

function saveMouseDown(ev) {
    $scope.mouseDownEvent = ev;
}

$scope.$on("$destroy", function () {
    document.removeEventListener(saveMouseDown);
});

该应用程序有一个单独的指令来处理右键单击。onLegendItemClick(e)当用户右键单击图例项时,有没有办法阻止 Kendo 调用该方法?

标签: javascriptangularjskendo-ui

解决方案


将“点击”添加到已保存事件的列表1中:

document.addEventListener("mousedown click", saveEvent, true);

function saveEvent(ev) {
    $scope.savedEvent = ev;
}

$scope.$on("$destroy", function () {
    document.removeEventListener(saveEvent);
});

相关问题:如何防止右键单击取消选择 Kendo-UI 中的标记


推荐阅读