附加html中的d3按钮回调

mjpablo23

我有一个包含 html 的 d3 代码部分。

var div = d3.select("body")
              .append("div")
              .attr("id", "mouseover")
              .attr("class", "decisionMenu")
              .style("opacity", 1)
              .html('
              <button type="button" onclick="doFunction();">Click Me</button>')

doFunction 定义如下:

function doFunction() {
 console.log("decision button click"); 
}

我想在按钮的 onclick 回调中调用 doFunction。但是,编译器找不到 doFunction,因为 html 是一个字符串。单击按钮时如何进行函数调用?

编辑(我之前没有包括这个):

我有从另一个函数调用的函数:

function showDecisionMenu(d) {            var g = d3.select(this); 
            var div = d3.select("body")
              .append("div")
              .attr("id", "mouseover")
              .attr("class", "decisionMenu")
              .style("opacity", 1)
              .html('<button type="button" onclick="doFunction();">Click Me</button>')

从这里调用:

nodeEnter.on("mouseover", showDecisionMenu)
溃疡

无论如何,当您使用 d3 时,您也可以为此留在 d3 中并执行以下操作:

var div = d3.select("body")
    .append("div")
    .attr("id", "mouseover")
    .attr("class", "decisionMenu")
    .style("opacity", 1);
div.append('button')
     .attr("type", "button")
     .text("Click Me")
     .on("click", doFunction);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章