Привязать событие к щелчку правой кнопкой мыши - PullRequest
2 голосов
/ 09 февраля 2012

Как связать или распознать событие, вызываемое правой кнопкой мыши?

У меня есть точечная диаграмма, где щелчок левой кнопкой мыши добавляет точку в выбранном месте; Я бы хотел щелкнуть правой кнопкой мыши, чтобы удалить точку (если есть).

Это мой текущий код:

var chart = new Highcharts.Chart({
   chart: {
       renderTo: 'container',
       events: {
           click: function(event) {
               var cs = [Math.floor(event.xAxis[0].value),
                         Math.floor(event.yAxis[0].value)];
               this.series[0].addPoint(cs);
           }
       },
        type: 'scatter',

   },
   ... etc. ...
});

Ответы [ 2 ]

0 голосов
/ 10 февраля 2012

Это не полное решение: я не выяснил, как фиксировать события щелчка правой кнопкой мыши.

Но вот обходной путь для нажатия на фон графика:

  • попросите пользователя сделать Shift-Click
  • , чтобы предоставить обратный вызов, как и ранее
  • в обратном вызове, проверить событие.Если нажат Shift, сделайте что-то другое

Вот как может выглядеть обратный вызов:

function clickChart(event) {
    var isShiftPressed = event.shiftKey;
    if(isShiftPressed) {
        // do something
    } else {
        // do something different
}

Объект события имеет логические атрибуты shiftKeyaltKey).

Вот обходной путь для удаления точек: (на самом деле, это не обходной путь - я просто не осознавал, что был более простой способ!)

  • у точек есть свои собственные события
  • , просто установите обратный вызов, который удаляет точки при нажатии

Пример:

function clickPoint(event) {
    this.remove();
}

var chart = new Highcharts.Chart({
    chart: {
        type: 'scatter',
        renderTo: 'chart',
    },
    series: [{
         point: {
             events: {
                 click: clickPoint
             }
         }
    }]
});

Примечание: документация вводит в заблуждениепо крайней мере, но примеры jsfiddle кажутся правильными.Похоже, что параметры point не в series.

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