2013-06-13 2 views
0
.

. Когда вы программным образом вызываете setExtremes на оси Highcharts, он запускает события и afterSetExtremes для этой оси. Аналогично, эти два события также срабатывают, когда пользователь нажимает и перетаскивает диаграмму для увеличения.Дифференциация функции масштабирования и программного набора. Экстремальный вызов в Highcharts.

Есть ли простой способ разграничения между этими двумя действиями? В частности, у меня есть селектор диапазона дат, который при изменении должен вызывать setExtremes на диаграмме. Я также хочу, чтобы селектор диапазона обновлялся при увеличении графика путем перетаскивания. Но если оба действия запускают одни и те же события, у меня есть цикл. Я мог бы поставить некоторую логику, чтобы предотвратить это, но было бы намного более элегантно, если бы я мог использовать разные события для двух отдельных действий или подавлять события, когда я программно вызываю setExtremes.

+0

Не могли бы вы воссоздать свой пример в jsfiddle.net? Потому что, когда вы вызываете setExtremes, например http://api.highcharts.com/highstock#xAxis.events.setExtremes afterSetextremes не вызывает цикл –

+0

Спасибо, вы правы – zeke

ответ

0

От взгляда на исходный код, похоже, что afterSetExtremes только срабатывает, когда крайности фактически изменены, поэтому это действительно предотвратит цикл.

Более того, в функции setExtremes имеется 5-й параметр (недокументированный в API, но называемый eventArguments в исходном коде), который можно использовать для обозначения процесса, называемого функцией setExtremes.

Смежные вопросы