我有一个包含 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] 删除。
我来说两句