【问题标题】:How to prevent right click from deselecting marker in Kendo-UI如何防止右键单击取消选择 Kendo-UI 中的标记
【发布时间】:2019-08-29 20:39:48
【问题描述】:

legendItemClick剑道功能中如何区分左右点击?

我有一个包含时间序列数据图表的应用程序。该图表包含几个标记,每当我将鼠标悬停在图例上时,这些标记就会突出显示。当我单击图例中的标记时,它们不再在图表中突出显示。点击事件被触发,剑道的legendItemClick 函数被调用。但是,当我右键单击图例项时,会出现一个上下文菜单,但对 legendItemClick 的调用仍被注册,因此图表中的标记被取消选择。

有没有办法防止在鼠标右键单击事件上调用 legendItemClick?如果没有,那么有没有办法在legendItemClick函数中区分鼠标左键和右键?

这里是我正在使用的函数的引用:https://docs.telerik.com/kendo-ui/api/javascript/dataviz/ui/chart/events/legenditemclick

我尝试搜索 e.keyCode,但它不是属性。

【问题讨论】:

  • @georgeawg 我正在处理一个剑道 ui 图表元素,而不是一个 html
  • 某些 API 将使用 originalEvent 属性公开原始事件。对事件执行 console.log 以检查事件。还要检查事件原型。
  • @georgeawg 我试过了,但不幸的是 kendo api 没有提供原始事件。

标签: javascript angularjs kendo-ui


【解决方案1】:

不幸的是 kendo api 不提供原始事件。

一种方法是在原始事件冒泡之前捕获并保存它:

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

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

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

addEventListener 方法的第三个参数指定“捕获”模式。

有关详细信息,请参阅

【讨论】:

  • 这种方法是否适用于平板电脑等触摸屏设备?我需要弄清楚事件是否是右键单击以及是否阻止默认行为...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-01
  • 2016-08-09
相关资源
最近更新 更多