Как предотвратить отмену выбора маркера в Kendo-UI - PullRequest
0 голосов
/ 08 апреля 2019

Как различить левый и правый щелчок в функции кендо legendItemClick?

У меня есть приложение, в котором есть диаграмма с данными временных рядов. Диаграмма содержит несколько маркеров, которые подсвечиваются при наведении курсора на легенду. Когда я нажимаю на маркеры в легенде, они больше не выделяются на графике. Событие click запускается и вызывается функция legendItemClick в кендо. Однако, когда я щелкаю правой кнопкой мыши по элементу легенды, появляется контекстное меню, но вызов legendItemClick все еще регистрируется, и поэтому маркеры на диаграмме отменяются.

Есть ли способ предотвратить вызов legendItemClick при щелчке правой кнопкой мыши? Если нет, то есть ли способ различить щелчок левой и правой кнопкой мыши внутри функции legendItemClick?

Вот ссылка на функцию, которую я использую: https://docs.telerik.com/kendo-ui/api/javascript/dataviz/ui/chart/events/legenditemclick

Я пытался найти e.keyCode, но это не свойство.

1 Ответ

0 голосов
/ 09 апреля 2019

к сожалению, кендо API не предоставляет исходное событие.

Один из подходов состоит в том, чтобы захватить и сохранить исходное событие до того, как оно всплывет:

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

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

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

Третийаргумент метода addEventListener указывает режим «захвата».

Для получения дополнительной информации см.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...