Как исправить функцию не определено в HTMLButtonElement.onclick

1

Я пытаюсь добавить элементы дерева кнопок из моей таблицы базы данных в раскрывающееся меню, но событие 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

Теги:
angular

1 ответ

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>
  • 0
    это работает так, но когда я динамически добавляю свою кнопку через innerHTML, это не работает.
  • 0
    Ваш innerHTML может быть неправильным <button onclick='myFunction()'>" + item.header + "</a> Я не знаю, если этот item.header закрывает кнопку и открывает тег <a>
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню