我有一个有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。但是,由于html是一个字符串,编译器找不到doFunction。单击按钮时如何进行函数调用?
编辑(之前我没有包括这个):
我从另一个函数调用函数:
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);