我无法向新创建的元素添加事件。
以下代码在onload
上执行。
它会在页面刷新时显示警告“blah”,表示创建新元素的次数。但这些元素在加载后无法点击。
有什么想法吗?
for (var S = 0; S < arrInbound[i][3].length; S++){
var namesDiv = document.createElement('div');
namesDiv.id = S;
namesDiv.draggable = 'true';
namesDiv.contenteditable = 'true';
namesDiv.className = "crewNames";
//namesDiv.ondragstart = 'dragStart(event)';
//namesDiv.onblur = 'updateArr(this)';
namesDiv.onclick = alert("blah");
namesDiv.innerHTML = arrInbound[i][3][S];
tagElRight.appendChild(namesDiv)
}
答案 0 :(得分:2)
这是功能分配
namesDiv.onclick = function() { alert('a'); } // CORRECT
这是函数调用, alert fn 的结果,namesDiv.onclick
undefined
更简化的例子
namesDiv.onclick = alert('a'); // WRONG
答案 1 :(得分:1)
您的onclick不是函数,因为您将onclick设置为警报执行的结果。尝试下一步:
namesDiv.onclick = function() {alert("blah")};