gpt4 book ai didi

javascript - 使用自定义函数在 d3.js 中创建元素

转载 作者:行者123 更新时间:2023-11-29 22:15:29 27 4
gpt4 key购买 nike

我想使用 d3.js 与 CodeMirror 中的标记文本进行交互。但是,要在 CodeMirror 中标记文本,您可以调用 markText(from,to, {class: 'my-class'}) 并在类 my-class< 的文本周围创建一个跨度.

我想根据数据标记很多文本,然后给它们添加一些事件处理之类的。因此,我想做类似的事情:

var box = d3.selectAll('box').data(myData);
box.enter().each(function(d) {cm.markText(from(d), to(d), {class: 'box'});})
box.on('mouseover', function(d) {...});
box.exit().remove();

但是,d3 的输入选择仅支持appendinsertselect。我已经尝试使用 select 伪造效果(例如 box.enter().select(arbitraryElt).each(...)),但这没有用。

当然,我可以循环遍历我的数据,标记文本,然后使用 d3 来应用我想要的其他属性,但这有点违背了使用 d3 的意义。

是否有可能以一种优雅的方式使用 d3 来做到这一点?

编辑:

我意识到我完全误解了 markText 的工作原理,因此我的问题的上下文是无效的。但是,我仍然很好奇是否可以使用任意函数而不是追加来创建元素。

最佳答案

您可以将 .call 用于自定义函数,这样就是 .call(box)

关于javascript - 使用自定义函数在 d3.js 中创建元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15423363/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com