【发布时间】:2019-01-18 07:04:36
【问题描述】:
我在所有带有“card-title”类的html元素上添加了一个事件监听器,这个监听器用于创建与“card-title”类相同的html元素,但是这些新创建的元素不响应addEventListener当我点击它们时。我猜是因为它们没有添加到数组cardTitles中,我不知道该怎么做
function myFunc() {
var cardTitles = document.getElementsByClassName('card--title');
for (var i = 0; i < cardTitles.length; i++) {
cardTitles[i].addEventListener('click', function() {
var newCard = document.createElement('p');
newCard.className = 'card--title';
newCard.innerText = 'Enter';
document.body.appendChild(newCard);
});
}
}
myFunc();
【问题讨论】:
-
使用事件委托:
document.addEventListener("click", function(e){ if(e.target.matches(".card--title")){ /* Do click listener things */ } }).
标签: javascript html arrays dom addeventlistener