Как отловить событие клика по тикам оси jqplot, highcharts,flot

Я хочу иметь возможность поймать событие clicked, которое привязано ко всем тикам оси. вот что я сделал до сих пор.

http://jsfiddle.net/grVFk/5074/

Если кто-нибудь знает, как это сделать с помощью любого из плагинов для построения диаграмм, поделитесь.

Спасибо


person fon    schedule 18.04.2011    source источник
comment
как вы поместили эту диаграмму в jsfiddle ??   -  person Santosh Linkha    schedule 18.04.2011
comment
Ну, у меня там есть аккаунт, поэтому я могу загружать туда вещи. ну, вы также можете продолжать работать над моим или создать там учетную запись и загрузить свои собственные файлы   -  person fon    schedule 18.04.2011


Ответы (1)


сюжет не простой HTML. Так что тега a нет. И сам график не предоставляет вам API для перехвата события click на отметке оси.

Что вы можете сделать, так это выбрать отметку оси вручную с помощью jQuery и добавить событие click:

$('.highcharts-axis tspan').each(function(){
    var label = $(this),
        value = label.text();
    if(categoryLinks[value]) {
        label.click(function(){
            // you' free to what you want...
            alert('could link to another page: ' + categoryLinks[value]);
        });
    }
});

И есть решение: http://jsfiddle.net/scheffield/grVFk/5090/

person scheffield    schedule 18.04.2011
comment
Большое спасибо. Это именно то, что я хотел. Но я могу сделать то же самое с jqplot? - person fon; 18.04.2011
comment
Извините, я не понимаю вашего вопроса. - person scheffield; 18.04.2011
comment
Спасибо за ваш ответ. Я действительно предпочел бы использовать jqplot, потому что он бесплатный. поэтому я спрашивал, есть ли способ привязать событие щелчка к галочке оси, а также поймать их точно так же, как вы только что сделали для highcharts. Спасибо - person fon; 18.04.2011
comment
Ммм, я так не думаю, поскольку они используют canvas в jqplot, а не svg, как в highcharts. - person scheffield; 18.04.2011
comment
хорошо спасибо. интересно, возможно ли это с помощью flot или вы знаете какой-либо другой плагин для построения диаграмм javascript, который может позволить нам реализовать такую ​​​​функциональность? вы мне очень помогли. Я очень ценю это. - person fon; 18.04.2011
comment
@fon, я думаю, вы спрашиваете, как добавить событие клика на полосу графика, верно? Вот, что я сделал: .href = www.google.com; }); Вы можете обратиться к jqplot.com/deploy/dist/examples/barTest.html< /а> - person Swapnil Chincholkar; 20.03.2012
comment
jqplot использует divs для рендеринга осей, поэтому вы можете использовать тот же подход $('.jqplot-xaxis-tick').each(function(){... - person jwadsack; 05.10.2012
comment
Кроме того, для jqplot вам нужно будет изменить z-индекс в доступе, потому что он обычно находится за холстом и не будет получать события щелчка: .jqplot-axis { z-index: 1000 } - person jwadsack; 05.10.2012