Если вы посмотрите демонстрационный код атласа (в github ), вы увидите, что внизу есть выбор функций событий мыши, если вы посмотрите на:
$(canvas).mousedown(function(e){
var pos = $(this).offset();
var p = {x:e.pageX-pos.left, y:e.pageY-pos.top}
selected = nearest = dragged = particleSystem.nearest(p);
if (selected.node !== null){
// dragged.node.tempMass = 10000
dragged.node.fixed = true;
}
return false;
});
Используется для управления функцией «перетаскивания» узла по умолчанию. Здесь вы можете активировать нужную ссылку.
Я бы добавил URL-адрес ссылки на узел json, который вы передаете, чтобы определить каждый узел, чтобы исходный опубликованный JSON стал примерно таким:
nodes:{
threadstarter:{'color':'red','shape':'dot','label':'Animals'},
reply1:{'color':'green','shape':'dot','label':'dog', link:'http://stackoverflow.com'},
reply2:{'color':'blue','shape':'dot','label':'cat', link:'http://stackoverflow.com'}
},
Затем вы можете обновить метод mouseDown для запуска ссылки (текущий узел в методе mouse down «выбран», так что вы можете извлечь ссылку, как selected.node.data.link
Если вы посмотрите на исходный источник сайта беседки, чтобы увидеть, как они это сделали, у них есть функция по щелчку, которая вызывается для события mouseDown, а затем по существу выполняет:
$(that).trigger({type:"navigate", path:selected.node.data.link})
(отредактировано для ваших целей)
Стоит отметить, что, хотя фреймворк и демоверсии Arbor открыты для использования, их сайт не защищен авторскими правами и защищен авторским правом, так что читайте только, чтобы увидеть, как они это сделали, не копируйте его;)