обратный вызов кнопки d3 в приложении HTML - PullRequest
0 голосов
/ 13 марта 2019

У меня есть раздел кода d3, который имеет HTML.

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"); 
}

Я хотел бы вызвать doFunction в функции обратного вызова onclick для кнопки.тем не менее, компилятор не может найти doFunction, поскольку HTML находится в строке.как сделать вызов функции при нажатии кнопки?

edit (я не включал это раньше):

У меня вызывается функция из другой функции:

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)

1 Ответ

1 голос
/ 14 марта 2019

Поскольку вы все равно используете 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...