我正在尝试将点击处理程序附加到我动态创建并添加到 li 元素的元素。当我尝试将它附加到 li 元素时,它不起作用。但是当我尝试将它添加到更高级别的 div 甚至 ul 元素时,点击处理程序就会起作用。
这没有给我点击事件:
var ul = document.createElement('ul');
ul.setAttribute('class','list');
main_div.appendChild(ul);
var li = document.createElement('li');
ul.appendChild(li);
var checkbox = document.createElement('div');
checkbox.setAttribute('class','checkBtn-unselected');
checkbox.onclick = function(){alert('foo');};
li.appendChild(checkbox);
这确实给了我点击事件:
var ul = document.createElement('ul');
ul.setAttribute('class','list');
main_div.appendChild(ul);
var li = document.createElement('li');
ul.appendChild(li);
var checkbox = document.createElement('div');
checkbox.setAttribute('class','checkBtn-unselected');
checkbox.onclick = function(){alert('foo');};
ul.appendChild(checkbox);
我也在使用英特尔的 App 框架/UI。我不知道这可能与它有什么关系。此外,在其他地方,我已经能够编写 HTML 并将我的复选框放在其中,它似乎可以工作。只有当我尝试动态创建它时,事件处理程序才不会运行。