Kendo UI Chart 禁用图例项右键单击事件

Posted

技术标签:

【中文标题】Kendo UI Chart 禁用图例项右键单击事件【英文标题】:Kendo UI Chart disable legend item right click event 【发布时间】:2019-09-01 08:21:06 【问题描述】:

我有一个使用带有图例的 Kendo UI 图表的应用程序。当用户单击图例项时,将调用 Kendo onLegendItemClick(e) 方法。但是传递给该函数的事件不包含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);
);

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

【问题讨论】:

【参考方案1】:

在已保存事件列表中添加“点击”1

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

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


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

相关问题:How to prevent right click from deselecting marker in Kendo-UI

【讨论】:

我将该响应用于我的代码,但它在支持触摸的设备上失败了。我现在就试试这个。不幸的是,我们不能禁用 onLegendItemClick 方法进行右键单击。至少给我们原始事件剑道... 向 Kendo-UI 团队提交new issue。

以上是关于Kendo UI Chart 禁用图例项右键单击事件的主要内容,如果未能解决你的问题,请参考以下文章

如何减小 Kendo UI 饼图的大小?

Chart.js:禁用 Y 轴,当通过图例禁用图形时

在 kendo ui 网格中以编程方式更改 serverSorting

在 Kendo UI Chart Angular 2 中隐藏网格线

Kendo UI Chart中的组和堆栈数据

如何将“verticalRangeArea”与Kendo UI Chart中的折线图组合?