[英]How to add an existing function to new createElement elements
I would like to give newButton
the colourChange
function.我想为
newButton
colourChange
功能。 I think I need to use DOMNodeInserted
but I'm not quite sure how.我想我需要使用
DOMNodeInserted
但我不太确定如何使用。
let button = document.querySelectorAll('button');
const colours = ['red', 'yellow', 'green', 'blue'];
const colourChange = button.forEach(press => {
press.style.backgroundColor = colours[0];
press.addEventListener('click', e => {
e.target.style.backgroundColor = colours[(colours.indexOf(e.target.style.backgroundColor) + 1) % colours.length];
});
});
const createButton = document.getElementById('new button');
createButton.addEventListener('click', e => {
console.log('creating')
const newButton = document.createElement("button");
newButton.innerHTML = "click";
newButton.classList.add('button');
document.body.appendChild(newButton);
})
Edit to the following编辑为以下
colourChange();
function colourChange(){
let button = document.querySelectorAll('button');
const colours = ['red', 'yellow', 'green', 'blue'];
button.forEach(press => {
press.style.backgroundColor = colours[0];
press.addEventListener('click', e => {
e.target.style.backgroundColor =
colours[(colours.indexOf(e.target.style.backgroundColor) + 1) % colours.length];
});
});
}
const createButton = document.getElementById('new button');
createButton.addEventListener('click', e => {
console.log('creating')
const newButton = document.createElement("button");
newButton.innerHTML = "click";
newButton.classList.add('button');
document.body.appendChild(newButton);
colourChange();
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.