Это мой код:
setInterval(function(){
let fklas = document.createElement("input");
fklas.setAttribute('type', 'text');
let randomX = 10
let randomY = 10
fklas.style.top= randomX + "%"
fklas.style.left= randomY + "%"
document.body.append(fklas);
},100)
function mouseOver() {
console.log(this.id);
this.parentNode.removeChild(this);
}
var list = document.getElementsByTagName("input");
for (var i = 0; i < list.length; ++i) {
list[i].addEventListener("mouseover", mouseOver);
}
Я хочу удалить области ввода при наведении указателя мыши. Должно быть похоже на игру. Моя функция удаления не работает. Кто-нибудь может это исправить, пожалуйста?
Любить.
0
Elena1a1a
29 Окт 2019 в 05:08
1 ответ
Лучший ответ
Вам нужно добавить его к каждому сгенерированному элементу.
setInterval(function() {
let fklas = document.createElement("input");
fklas.setAttribute('type', 'text');
let randomX = 10
let randomY = 10
fklas.style.top = randomX + "%"
fklas.style.left = randomY + "%"
fklas.addEventListener("mouseover", mouseOver) // <-----
document.body.append(fklas);
}, 100)
function mouseOver() {
console.log(this.id);
this.parentNode.removeChild(this);
}
// <-- there are no element generated at this point so your for loop is effectively no-op
* Я опускаю часть стиля, потому что это другой вопрос.
1
apple apple
29 Окт 2019 в 05:14
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript/JS) и его различных диалектах/реализациях (кроме ActionScript). Обратите внимание, что JavaScript — это НЕ Java. Включите все теги, относящиеся к вашему вопросу: например, [node.js], [jQuery], [JSON], [ReactJS], [angular], [ember.js], [vue.js], [typescript], [стройный] и т. д.