HTMLButtonElement.onclick中未定义如何修复功能

时间:2019-01-09 20:27:46

标签: javascript angular

我正在尝试将数据库表中的树状按钮项添加到下拉菜单中,但是onclick事件不会调用正在传递的函数。这是单击按钮时遇到的错误。 任何帮助,将不胜感激。

addFormatItemHandler() 
{
    var self = this;

    this.m_tree.formatItem.addHandler
    (
        function(p_sender, p_event) 
        {
            var item = p_event.dataItem;

                    p_event.element.innerHTML = "<button onclick='myFunction()'></button>";                                 

        }
    );

}

myFunction(){

console.log("My function");

}

预期结果: 我的功能

实际结果: myFunction未定义     在HTMLButtonElement.onclick

1 个答案:

答案 0 :(得分:0)

只要在函数前加上function一词,就可以像下面的示例那样工作:

function addFormatItemHandler() {
  var self = this;

  this.m_tree.formatItem.addHandler(
    function(p_sender, p_event) {
      var item = p_event.dataItem;
      p_event.element.innerHTML = "<button onclick='myFunction()'></button>";
    }
  );
}

function myFunction() {
  console.log("My function");
}
<button onclick="myFunction()">My button</button>