我有动态创建的元素。但我似乎无法添加一个按下按钮自身值的onclick事件。函数本身没有被调用。
var btn = document.createElement('button');
btn.innerHTML = "Edit";
btn.value = i;
btn.onclick ="EditData(this.value)"; // <----
function EditData(value) {
alert(value);
}
答案 0 :(得分:2)
您必须将功能分配给onclick
,而不是字符串:
btn.onclick = function() {
EditData(this.value);
};
也许你认为你必须分配一个字符串,因为在HTML中我们会写
onclick="...."
但是,DOM API与HTML不同。
Learn more about events and different ways to bind handlers.
答案 1 :(得分:2)
设置功能本身:
var btn = document.createElement('button');
btn.innerHTML = "Edit";
btn.value = '2';
btn.onclick = EditData;
function EditData(event) {
alert(this.value);
}