Я использую jqplot для рисования некоторых диаграмм. Это отличный инструмент, но ему не хватает простой опции обработчика кликов для каждой диаграммы.
Его плагины, такие как маркер, перетаскивание и курсор, регистрируют свою заинтересованность в захвате событий щелчка/мыши с холста jqplot, добавляя себя в jqplot.eventListenerHooks (eventListenerHooks.push(['jqplotClick', callback]); например, или 'jqplotMouseDown' или такие тоже есть.
После создания моего графика с помощью обычного $.jqplot(target, data, options); тогда я делаю это
$.jqplot.eventListenerHooks.push(['jqplotClick', myFunc]);
и, конечно же, myFunc вызывается везде, где я нажимаю на график, с event
, neighbour
, datapos
и gridpos
. Сосед самое интересное, в нем есть моя точка данных, если на него был клик. Это данные, которые мне нужны, чтобы сделать всплывающее окно рядом с gridpos с дополнительной информацией о точке данных.
Но проблема в том, что если у меня есть две диаграммы на одной странице и я хочу зарегистрировать разные обратные вызовы для каждого jqplot. Как и сейчас, когда я регистрирую второй myFunc2, все клики на втором графике также проходят через myFunc!
Нужно ли вносить изменения в jqplot? Любые направления, что угодно?
Спасибо