Как вызвать событие click для временной шкалы vis.js (чтобы получить результат щелчка, когда для параметра clickToUse установлено значение True)? - PullRequest
0 голосов
/ 11 ноября 2018

У меня есть несколько временных шкал в проекте, который использует vis.js , сгенерированный кодом PHP.

Существует опция для временных шкал, называемая clickToUse , если для которой установлено значение True , она выбирает конкретную временную шкалу, когда пользователь нажимает на нее, в результате чего вокруг него появляется затененный контур.

Я использую дополнительный заголовок div с заголовком и различной информацией относительно временной шкалы под ним.

Я хотел бы выбрать временную шкалу изкод (вызывающий затененный контур), когда я нажимаю на заголовок div, поэтому что-то происходит, когда пользователь нажимает на шкалу времени.

Как это можно сделать?Любая помощь будет оценена.

1 Ответ

0 голосов
/ 15 ноября 2018

Наконец-то я понял, это мое решение. Прежде всего мне пришлось использовать stopPropagation , потому что в основном vis.js деактивирует временную шкалу, когда пользователь щелкает где-то еще, кроме временной шкалы. Поэтому нажатие на заголовок div приведет к деактивации временной шкалы сразу после ее активации.

Глядя в коде vis.js, я обнаружил, что он использует объект Activator для обработки активации / деактивации, когда для clickToUse установлено значение true. Если установлено значение false, активатор не распространяется на объект временной шкалы. Объект Activator имеет функцию «активировать» и «деактивировать» (и некоторые другие), которые можно вызывать (это не написано в документации по vis.js).

Итак, я использую следующий код, и он работает:

document.getElementById('headerdiv').addEventListener('click', function() {
  event.stopPropagation();
  timeline.activator.activate();
});

Если вы вызываете .activate (), он также деактивирует другие временные шкалы (если у вас есть несколько), поэтому нет необходимости вызывать какие-либо другие функции, потому что все написано в функции activ (): css change, emitters , связка ключей.

...