Использование pickadate.js с Highcharts — проблема привязки событий

#highcharts #pickadate

#высокие диаграммы #pickadate

Вопрос:

Я пытаюсь использовать pickadate.js с высокими показателями.

Это работает, но для этого требуется дважды щелкнуть. Похоже, что highcharts сначала отображает дату в текстовом элементе svg, и есть сопутствующий элемент ввода размером 1 пиксель x 1 пиксель. Когда вы нажимаете на текст SVG, он заменяется элементом ввода. Затем вы нажимаете еще раз, и открывается pickadate.

Я попытался привязать pickadate к элементу g / text через $(g.highcharts-range-input).pickadate(), но это не работает.

Я также пытался использовать событие input.onFocus для запуска события input.onClick, которое работает, но иногда оно проходит через два цикла щелчка, в результате чего pickadate открывается, а затем немедленно закрывается:

 $('input.highcharts-range-selector').bind("focus", function() {
                console.log("focus");
                $('input.highcharts-range-selector').trigger("click");
});
 

Скрипка:

https://jsfiddle.net/04svbnfd/

Спасибо, Мэтт

Комментарии:

1. Согласно pickadate.js документации, компонент pickadate должен быть присоединен к элементу ввода — amsul.ca/pickadate.js между тем ввод элементов в highcharts происходит только после первого щелчка по селектору данных. Рассматривали ли вы возможность создания пользовательских входных данных для ваших нужд?

2. Я не рассматривал пользовательский ввод. Я не уверен, как бы я применил это к проблеме. Я думаю, что с помощью проб и ошибок я могу заставить его работать с моей первоначальной попыткой привязки input.focus для создания input.click . Мне просто нужен дополнительный шаг, чтобы проверить, открыт ли уже pickadate.