Так как вы спросили ...
Как / где я могу отправить обратный вызов в качестве параметра?
... ваш вопрос опасно слишком широк . Но есть возможность (из многих):
Предположим, это простая функция обратного вызова:
function callback(x){
console.log(x);
}
Мы можем отправить его в функцию zoom
, меняющую слушателя. Итак, вместо:
.on("zoom", zoomed);
Мы можем сделать:
.on("zoom", function(){
zoomed(callback)
});
И, в функции zoom
, установить аргумент обратного вызова. Например, давайте запишем d3.event.transform
:
function zoomed(fn) {
fn(d3.event.transform);
//rest of the code...
}
Вот демо-версия bl.ocks: http://blockbuilder.org/GerardoFurtado/38c77c024ba4cc42c86221117fed4164