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