Правда, я не совсем разбираюсь в JavScript, но он используется в этом R-пакете, с которым я работаю. Я не понимаю, как вызовы функций работают во время обработки событий, в этом случае. Мой код ниже.
То, как работает пакет, заключается в том, что я должен предоставить ему фрейм данных узлов (который должен содержать столбец с именем 'id') и фрейм данных ребер (который должен содержать столбцы 'from' и 'to' ). Он распечатает интерактивную сеть, которую можно настроить с помощью Javascript.
В коде visEvents () включает обработку событий, а «selectNode» является одним из событий (подробнее см. Здесь https://rdrr.io/cran/visNetwork/man/visEvents.html).
library(visNetwork)
nodes2 <- data.frame(id = 1:3)
edges2 <- data.frame(from = c(1,2), to = c(1,3))
visNetwork(nodes2, edges2) %>%
visEvents(selectNode = "function(properties) {
alert('selected nodes: ' + properties.nodes);}",
dragEnd = "function() {
alert('finish to drag');}")
Мой вопрос: когда узел выбран и вызывается функция, что именно передается в функцию? Что такое «свойства», и почему оно имеет качество, называемое «узлами»? На сайте, указанном выше, в примере используется другое событие. Единственная разница между моим кодом и их кодом заключается в том, что я изменил событие «select» на событие «selectNode». Но код все еще работает, поэтому я не понимаю, что должен означать этот параметр 'properties'.
Редактировать: Я был бы признателен, если бы кто-то также дал мне знать, где я могу прочитать больше об этом. Я не совсем знаю, как называется этот процесс, поэтому я даже не могу его погуглить.