Хобрук: Ваш путь к мастерству в программировании

добавить событие к меткам оси X диаграммы highchart

Я пытаюсь получить текст метки на оси x символов, щелкнув по ней. Я использую гистограмму, и код следующий:

var chart = new Highcharts.Chart({
    chart: {
        type: 'column',
        backgroundColor: '#eaedf1',
        zoomType: 'x',
        renderTo: 'container'
    },
    plotOptions: {
        series: {
            cursor: 'pointer',
            pointWidth: 10,
            point: {
                events: {
                    click: function (event) {
                        console.log(event.point.name + " " + this.y);
                    }
                }
            }
        }
    },
    title: {
        text: 'Total Flow Types'
    },
    xAxis: {
        type: 'category',
        labels: {
            rotation: -90
        }

    },
    yAxis: {
        min: 0,
        title: {
            text: 'millions'
        }
    },
    legend: {
        enabled: false
    },
    series: [{
        name: 'Flow Types'
    }]
}); 

Затем, нажав кнопку, диаграмма заполняется с помощью ajax, который отлично работает. Проверив верхнюю часть диаграммы, я увидел, что каждая из меток - это текст / текст. Они являются частью g / element с классом highcharts-axis-labels highcharts-xaxis-labels. Итак, я попытался получить значения с помощью jquery, например:

$('body').on('click', 'g.highcharts-axis-labels.highcharts-xaxis-labels text',   function () {
    console.log($(this).text());
}); 

или просто

$('body').on('click', 'text',   function () {
    console.log($(this).text());
}); 

Все это часть функции document.ready. К сожалению, ни один из них не извлекает текст метки оси X?


  • Не могли бы вы опубликовать живой пример, например jsFiddle? 12.12.2014
  • публиковать действительно нечего. Если вы скопируете и вставите мой код диаграммы и предоставите несколько примеров данных, вы увидите, что он производит. 12.12.2014

Ответы:


1

Вместо:

$('body').on('click', 'g.highcharts-axis-labels.highcharts-xaxis-labels text', function () {
    console.log($(this).text());
});

Использовать это:

$('.highcharts-xaxis-labels text').on('click', function () {
    console.log($(this).text());
});

Не следует соединять классы highcharts-axis-labels и highcharts-xaxis-labels с dot. А также класса highcharts-xaxis-labels достаточно, чтобы добавить событие. Вот сценарий: http://jsfiddle.net/8sxLr5j8/

14.12.2014

2

Вы можете использовать расширение, которое позволяет это сделать.

15.12.2014
Новые материалы

Создание кнопочного меню с использованием HTML, CSS и JavaScript
Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

Внедрите OAuth в свои веб-приложения для повышения безопасности
OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

Классы в JavaScript
class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

Как свинг-трейдеры могут использовать ИИ для больших выигрышей
По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

Как построить любой стол
Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...

Обзор: Машинное обучение: классификация
Только что закончил третий курс курса 4 часть специализации по машинному обучению . Как и второй курс, он был посвящен низкоуровневой работе алгоритмов машинного обучения. Что касается..

Разработка расширений Qlik Sense с qExt
Использование современных инструментов веб-разработки для разработки крутых расширений Вы когда-нибудь хотели кнопку для установки переменной в приложении Qlik Sense? Когда-нибудь просили..