Это не полное решение: я не выяснил, как фиксировать события щелчка правой кнопкой мыши.
Но вот обходной путь для нажатия на фон графика:
- попросите пользователя сделать Shift-Click
- , чтобы предоставить обратный вызов, как и ранее
- в обратном вызове, проверить событие.Если нажат Shift, сделайте что-то другое
Вот как может выглядеть обратный вызов:
function clickChart(event) {
var isShiftPressed = event.shiftKey;
if(isShiftPressed) {
// do something
} else {
// do something different
}
Объект события имеет логические атрибуты shiftKey
(и altKey
).
Вот обходной путь для удаления точек: (на самом деле, это не обходной путь - я просто не осознавал, что был более простой способ!)
- у точек есть свои собственные события
- , просто установите обратный вызов, который удаляет точки при нажатии
Пример:
function clickPoint(event) {
this.remove();
}
var chart = new Highcharts.Chart({
chart: {
type: 'scatter',
renderTo: 'chart',
},
series: [{
point: {
events: {
click: clickPoint
}
}
}]
});
Примечание: документация вводит в заблуждениепо крайней мере, но примеры jsfiddle кажутся правильными.Похоже, что параметры point
не в series
.