Благодаря многоразовому столу, созданному с помощью этой помощи
Обновление таблицы HTML в d3.js с использованием многоразовой диаграммы
У меня есть хороший многоразовый код D3.js, примененный, например, здесь:
http://ross.iasfbo.inaf.it/~gloria/web-examples/valencia/bright-stars.html
Инициализировать и вызвать его просто:
var t1 = myreusabletable(); // initialization
t1.columns(["id","column","other_column"]) // column setup
d3.json("data.json",function(error,data){
d3.select("body").datum(data).call(t1)
});
Однако до сих пор привязки событий должны быть предварительно закодированы в функции myreusabletable()
:
rows.on('mouseover', function(d){mouseover(d)});
и устанавливается снаружи
function mouseover(d){
...
}
Мой вопрос: как я могу настроить метод в myreusabletable()
, чтобы я мог связать .on(event,function)
извне следующим образом:
var t1 = myreusabletable(); // initialization
t1.columns(["id","column","other_column"]) // column setup
.on("mouseover",function(d,i){...}) // event binding setup here
.on("click",function(d,i){...}) // event binding setup here
Спасибо за помощь!
return this
илиthat
в конце функции внутриon
? Я явно не знаю, сработает ли это, но попробовать стоит. - person Christopher Chiche   schedule 22.06.2013.on()
— это метод d3.js, а вызываемая внутри функция — это кастомная функция, которую я программирую под свои нужды (.on("mouseover",customfunction)
, если нужно, и так далее), поэтому возвращатьthis
в данном конкретном случае нет смысла. - person leonard vertighel   schedule 22.06.2013on
применялся ко всей таблице или к отдельным элементам (строкам, ячейкам и т. д.) в ней? - person nsonnad   schedule 24.06.2013t1.rows.on("mouseover",...)
,t1.cells.on("mouseclick",...)
- person leonard vertighel   schedule 24.06.2013